Using Struct properly to avoid anonymous class

This is the recommended way to customize a struct. Subclassing an anonymous
struct creates an extra anonymous class that will never be used.