Basic implementation of events.