Adds the ability to run custom initialization in derived DBOActions.

 Currently, you have to use an event listener with proper nice value to ensure your initialization runs before evrything else. This change allows derived classes to use the initialized values from the constructor but on the same time runs before any 3rd party event listeners. This greatly enhances the flexibility and extensibily of DBOActions.