Added lager for logging. added enable and disable functions.
Added generic init/ disable /enable callbacks
Improved documentaiton and internal callbacks.