State change refactoring.