Move code generation to separate generator service

alternatively, maybe we should have:

{ "name": "generator", "type": "generator" }

bit more work on server side, but nicer to use