Changed the events code from the polymer element to the objects and made the base class of the objects abstract so the implementations can have their own way of dealing with the events.