Add event creation library and implement in scheduler.

We don't tend to test logging in our code.  And, until something actually consumes this, it's just glorified logging.  So, my take is that you don't test event generation during scheduler unit test, but once you add code that closes the control loop and actuates based on events, then you need an e2e test of that behavior.