WIP: writing some very weird code for events.