Lock the Bot instance for signal handling.
Minor cleanup.
Msg ctor checks for null origin to construct empty string.
Use delegte ctor for Msg.