Added 'Event' class.

event basically implements an observer pattern.