Refactored and introduce requestPermissions and grantedPermissions
 properties