Refactor internal API for Services to match v1beta3

First commit is services (working unit and integration).
Preserve the TODO from the original code