While promoting is straightforward, demoting has certain limitations in case this user has created several objects before (check to FK relations of users). Therefore, demoting is rather a low-level helper function and not intended as a replacement of "acs_user::change_state" which can be used to deactivate users in various ways.