Added impl details, a default event creator (`evOk`), and some new lensing

Instead of littering code with `Just`s in order to map values up into
the Maybe monads inside of `Event` and `State` use the `(..~)`
combinator, i.e. "set purely".