Currently, controller.setValue( value ) invokes any registered onChange() handlers. Shouldn't it also call any registered onFinishChange() handler? Seems a bit inconsistent that it doesn't.
Looking at the code, controller.load(value) seems to do this, but it's not documented. Is it safe to use it to achieve that?