Is there a way to ensure the lifetime of the Monitor structures is only short lived? It's valid up until poll_events or wait_events is called.

The only way I know how it can be done is via something like this, which is a bit ugly.
```rust
pub fn get_connection_monitors<U>(&self, cb: |&[Monitor]| -> U) -> U
```