First round of refactoring, started work on ToggleColourButton.