Refactoring Castle