More about events

Changes all the events into delegates, makes more sense this way. Also
gave all the the delegates Caller arguments.