Explicitly dispatch insertEvent and deleteEvent on the main thread

We also split most of the EKEvent manipulations into separate methods.