Broke models out into API namespaces

I had to switch from having one model namespace to one per API to avoid
some class name conflicts