refactor commands: declare needing permissions as part of command