nit: in fact, you can use ES6 arrow function instead of binding:

    (value) => {/* ... */}

is equal to

    (function(value) {}).bind(this)