Adds docblock, cleans up control flow in UserListner