`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
yup, that does look nicer i'll update the PR