package ultraviolet type ButtonComponentModel struct { Format string Values []Value } type ButtonComponentController struct { Handler ClickHandler } type ButtonComponentOptions struct { View View Model ButtonComponentModel Controller ButtonComponentController } type ButtonComponent interface { SetValue(format string, values []Value) SetHandler(handler ClickHandler) } func ButtonComponentModelLabel(label string) ButtonComponentModel { return ButtonComponentModel{ Format: label, Values: []Value{}, } }