Add a preInit and postInit method, for better instancing control