This is a good feature, but one downside is that it moves model-layer aspects (permissions) out of the model layer and into the view layer, which is the opposite direction that I thought we were trying to move things. The model should declare the actions each permission grants ability to perform, and the view should query what these are.