DRY Refactoring Patterns