Protected VariationsProtect classes from variations in other classes using abstraction and stable interfaces