Yes, the current use of the “enabled” property is quite problematic, to put it mildly.
Your solution would be a good one.