More flexible way to handle permissions
Missing isAllowed function in User
Creation of Seperate class holding factories