Fix disconnect message to not include @undefined
Simplify some logic and recycle user objects
Up v2.5.1.-2
Initial support for enter/leave messages