Move code generation to separate generator service

Yes, a generator is uniquely identified only by it's guid. The key is not unique as multiple users may have added the same generator with private visibility scope. In that case we have the same URI and key multiple times, but each have their own guid. Makes sense?