Change permissions constructors to take encoded access privileges and DRY out tests