Refactoring public interface