define functions on Model constructor, so that they can be shared among all models
two way model.fn can updates inputs when output is modified
start working on arrayDiff
fix issue with arrayDiff inserts offsetting moves
First apparently working version of arrayDiff