Make CachedValue thread safe
Refactor InputThread to make just one publishAsync in the main loop
Pass in message bus to new Channels made after connection.
Rework Channel class to avoid deadlocking message bus on channel nick queries