Dont fail on startup

Delay exceptions until the user actually calls the event channel API. Otherwise you get ugly unhandleable exceptions on the console like 
```
$ ./main.native 
Fatal error: exception Failure("Failed to open event channel interface: (Failure "Permission denied")")
```