Refactored basic widget class
there are still quite a few problems:
- the tests are not complete
- the mechanims of sending signals between views/controller needs be more flexible
- there is too many levels of subclassing (ie. paginated versions)