The Encapsulate What Varies principle states that you should hide changing parts of your code behind stable interfaces.