@Ocramius can you review the createInitializer method please, to make sure i don't do weird things because i don't understand it enough? (probably best not in the diff view)