Permissions Review - refactor more code into Provider and add xml comments