Add initial spec and functionality for events