Implementing a custom widget

Implementing a custom widget involves several steps.

Creating each custom widget requires obtaining a factory from an existing container, then: