fixes #520 - data changes will propagate up through multiple component boundaries