Why do we suddenly switch to non camel-case names? I'd totally expect `onAddUser` and `onRemoveUser` here