Should allow_access and revoke_access even exist?
Should you have to call change_access instead?