I don't like 'widget.has_permission' which sounds like that the widget has some permission to do something. I should be something passive like 'is_displayed' or 'is_shown', but not something active. Also this method is not only used for permissions things but for disabling the widget in different cases, see account widget. If you like, I can change it to `is_enabled` or `is_displayed`.