Known bugs:

* Tends to hang sometimes due to unreliable events.
