Working through the code to allow generic events

See title