Implement Socket IO
Add support for rooms