RoslynCompilationService should set the generated code when compilation succeeds

Fixes #895
why not just a public constructor, where does the factory make a difference?