Abstract out the dashboard notepad widget in such a manner that it can be a pattern we follow for other widgets

See #151