Implemented EventFiringWebDriverNavigation to use the navigation events.
Where applicable, using the underlying element item to find elements.

Abstract class EventFiringObject added to encapsulate some of the generic methods and dispatcher.