- improve ApiQueryProvider::Base.shadow (allow user defined aliasing) - improve field definition on non autogenerated models (rename custom_fields -> field, allow call with no block for default behaviour) - probably should split ApiQueryProvider::Base into Base and Object, Base serving as interaction layer, Object contains all field handling methods, would allow anonymous objects without much hassle - improve ApiQueryProvider::Provider.system_symbols, should be a constant as it won't change at runtime - think about ApiQueryProvider::Provider.execute, does it really need a forced array, could easily just return a single object - ApiQueryProvider::Base.required_symbols should be cached, api_path shouldn't really change - make configuration setters private, not needed to expose them - ApiQueryProvider::Base should automatically try to create objects from nested hashes, also should iterate over arrays