Added first draft of generalised methods for color boxes and buttons, this is untested and there really should be a way other than reflection to realise getHandlers, looking into that at some other point, too tired