func New(group *[]IWidget) *Widget {
	res := &Widget{
		Selected:   false,
		group:      group,
		Decoration: checkbox.Decoration{button.Decoration{"(", ")"}, "X"},
	}
	res.ClickCallbacks = gowid.ClickCallbacks{CB: &res.Callbacks}
	res.initRadioButton(group)
	var _ IWidget = res
	return res
}
If the group supplied is empty, this radio button will be marked as selected, regardless
of the isChecked parameter.
package radio
import (
	"fmt"
	"github.com/gcla/gowid"
	"github.com/gcla/gowid/gwutil"
	"github.com/gcla/gowid/widgets/button"
	"github.com/gcla/gowid/widgets/checkbox"
)
type IWidget interface {
	gowid.IWidget
	gowid.ICallbacks
	IsChecked() bool
	Group() *[]IWidget
	SetStateInternal(selected bool)
}
type Widget struct {
	Selected bool
	group    *[]IWidget
	*gowid.Callbacks
	gowid.ClickCallbacks
	checkbox.Decoration
	gowid.AddressProvidesID
	gowid.IsSelectable
}