Make Radio widgets take a type that describes the type of their value, so that you can catch when you use the wrong value. Standardise on ValueChanged<Foo> instead of having a FooValueChanged for every value of Foo.