[Improved] Properly encapsulate Permission