Refactoring the framework again.