made arrow mvvm compatible, removed underscore.js dependency