Add event creation library and implement in scheduler.

The interface explicitly only declares one of those methods. There's no way it can call the others, the compiler checks this.