public Base( string key, string requestUrl, Func<TRoot, T> rootToSingle, Func<TRoot, IList<T>> rootToMultiple, Func<T, string> itemToId) { client = ClientExtensions.CreateBillyClient(key); //Todo: check for correctly formed url this.requestUrl = requestUrl; this.rootToSingle = rootToSingle; this.rootToMultiple = rootToMultiple; this.itemToId = itemToId; }