Thanks for working on a great module. It's saved me a lot of time.

In my use case, I need to update some profile fields and was attempting to use hook_user_update to catch when a user gets or loses a role, however it doesn't fire because roles are added directly in the database. If a module is updating core data it should do this via the api not in the database.

I can probably submit a patch for this but I wanted to make sure I'm not missing anything.