Added new event for driver to manage initial state
Added method to reset cached drivers
Refactored reset to clear and rebuild cache rather than resetting the internal instances of the drivers.