Refactoring Aspect-Oriented Software