What do you mean rename isEnabled ot isVisible() and remove setEnabled?
But what would that solve?
Because now if you override isVisible() on component then you also bypass the version manager.
(this would be a candidate to be final because of that!, but it is to damn handy to be able to override it)
when you override isVisible() or isEnabled() or any is method, does that value really need to be versioned? they are pull functions now instead of push, you are calculating their value every request so why version it? if the calculation depends on some properties that need to be versioned then it is the user's responsibility to version those properties whenever they change imho.
-Igor
