Refactoring: Separation of responsabilities between customer engine and customer service