We need to re-think the EnhancedSetter so that it does not call the enhanced method (but still does some of logic that is in the method and is necessary)