Refactoring to avoid breaking the API