Added some widget model test. Moved visibility constants to the interface so things implementing it can use them.
Added a new way to test widgets that makes it a little simpler. Added some more tests