Before a public release we should completely decouple the User and Permission resources from any HTTP specific logic.
The User and Permission resources should be part of a unified front / repository with other re-usable resources.
There is no reason this refactor should break any downstream dependencies.
Medium priority.