underscore should only ever be used for visibility on functions.  the widget factory handles that for us.  all member variables besides "options" are inherently private.  Also, do we really need this?