Big Permission representation refactor. Adds new tests
Removes useless extensions in requires