Refactored ClientCore to be completely free of UI code