`actionPromiseBinding` get out of sync if the action changes

2 changes to fix `actionPromiseBinding` getting out of sync

1. run `bindActionPromise` on change to keep in sync with the `action`
1. only call `then` on the `actionPromise` if we have one
Just noticed that the `.on('init')` syntax requires having `EXTEND_PROTOTYPES` enabled.
So I'm going to leave it like this unless you specifically want it using `.on('init')`