Refactor RcmUser for better events and structure