Object Oriented Software Design - Refactoring Assignment