I understand this and I think that this is dead end, because:
- we have to add more and more as API grows
- it exposes too many details, that makes impossible to change API

That is why I proposed to add onload hook.