Reworked backend to make color generic in the backend and use the interface to specialize it