For developers: Implement the definition interface
The interface is just a regular interface which specifies a contract. You can include properties which will control the behavior of your widget, and which you want to be set through definitions.
If you are creating nested definitions, the interfaces should implement their parents.
public interface ICustomDefinition
{
string CustomHeaderText { get; set; }
}