Building a Multi-User Chat Application in Java - Part 3: Direct & Group Messaging