Move factory.
Scope factory inside api.
Fix spec for api factory.
Add property.
Add properties set.
Add property configuration.
Change to use new api config and simplify the interface.
Change to expose configuration options.
Fix configuration specs.
Ensure property are properly set.
Fix specs for new api additions.
Change to use new configuration.