added ChatHolder to manage keeping track of chat instances and information about them.
possible broken code, don't revert to this