in reply to Mason Widgets?

The question needs to be more specific to be answered in a useful way. As it stands it is very open ended, and I could talk for a long time without accidentally stumbling onto anything that applies to your situation.

We use Mason at my job. We create plenty of components. Without feedback from you, I don't know how to describe how our way of doing it differs from anyone else's way.

To start thinking about the general principles that go into it, you might find the discussion at Re: Re: Re: Re: Re: Code Critique useful. Reading that won't make you good at it though, but it should help you learn more rapidly from experience.