Complete refactor: part 1 - jchat.user package