DelayedInit or OnCreate, any solution?

We also use this type of dsl. I think with static scope injection and implicit function type (

)
It can be done better.