Broke out models to fix namespaces

Models are now broken out by API to avoid namespace collisions.