Add rules IsEnabled and IsVisible to the entity level.
There might be situations when you need need to pre-fill fields with values that can not be changed by user. And you want to do that at entity level. With current implementation of rule IsReadOnly it could not be done, because it forbids value setting also from code.
Also, IsVisible would be great for situations when entitys visual appearance depends from entity type (for example, service invoice and payment - for service invoice field 'Work hours' must be shown, but for payment it is not needed)