Factor out color input into its own widget
Color binding basically working