Refactor how PNDs are implemented in the code
Description
Currently, the implementation of PNDs causes many issues as many things revolves around how PNDs they are implemented. As they are not needed anymore as a way of handling permissions, we should refactor how they are implemented to have less issues and more flexibility with/for current/future changes.