Refactor the Permission checking decorators