Fairly big overhaul. All chat specific methods are now 'encapsulated'.