Learningbranch, separating model view and control