added Behaviour interface, changed View and Controller classes, updated makefile and factory