Abstracted (kinda) ChatManager pattern