My main issue with this choice is that if something _unexpected_ happen during initialization, we will miss a chance of cleaning stuff during unload and let buggy UI and leaks...