Start with view iface and impl
Refractor for View
Changed the subclasses to meet the abstract class
Got rid of a few warnings and erros