Refactoring API module

Hi,

There are so many nonAPI model objects added into API and core modules. They should be moved to their respective service modules. This way we can keep core and API to its minimal and make them more accurate and manageable.

regards,
murod