model view reactive engine