Updated: Moved permission methods to separate class