Contributions need a way to contribute code without having to care about naming and access to privileged packages. A generation context of some kind offering a way to access such type and contribute methods is a first step towards that goal.