be threaded by default.
thread the HUD (updates only)

send 90 slots/tick updates, everything that needs updating in
round-robbin. whole pipes are sent, so something updating 1000 slots
will be the only thing sent that tick, rather than causing a lag-spike.

the manualResetEvent is from
http://stackoverflow.com/questions/1064596/what-is-javas-equivalent-of-manualresetevent
.
multiple releases will simply set the event to open. multiple threads
can wait at a closed lock, and all will be released when it is set.