Refactoring: Separate interface