Introduce MonadEventR/W
`withClientConnection` and MonadEventR/W instances