Implemented Listener pattern for tool changes.