Refactor internal API for Services to match v1beta3

First commit is services (working unit and integration).
Is this necessary, or just leftover after previous edits?