Realm behaviors factor out to client and user