Maintaining Behavior During Refactoring - Refactoring Toward Better Design | OneNoughtOne