Refactoring to isolate components finished.