Refactoring external operations design pattern