Attempt to fix concurrency

Also rewrote onChat handler (why do we need it anyway, you can probably
invoke TShock's onChat event if you want to).