The beginning of a widget. Phase 1 of #17

Signed-off-by: Greg Meiste <greg.meiste@gmail.com>