In progress: refactoring 'add new event' functionality