Let's say I have components A, B, and C. I have an event handler to clear the value of B when the value of A is changed. I also have an event handler to clear the value of C when the value of B is changed. Based on this setup, the way I would expect this to work is if I changed the value of A, that would trigger the value of B to be cleared, which would register as a change and clear the value of C.
Unfortunately this is not the case. Only B will be cleared and nothing will happen to C. Not only is this not the expected behavior, but it creates a lot more duplication and maintenance. We have a form with a bunch of nested components and we would like these to clear when the items they depend on get changed and if this worked as expected you'd only need to add an event handler to clear the value based on the immediate parent. Due to this bug we now need to clear based on changes happening all the way up, which is less than ideal to say the least.