This is slightly inconsistent with other initialisation actions, where we will always create an init function and call that from here. There's advantages to both. This approach is clean, the other makes it clearer which functions will be called for initialisation.