Send message up and down component hierarchy

Before I post this on the ideas site, I wanted to reach out to seasoned users to see if there already is a way to send messages between components.

What I am thinking of is having a button click issue a SendMessageUpwards(‘someMessageName’, someParam) which would then travel to the parents of the button, all the way up. Any components that have a custom method ‘someMessageName’ would intercept that message and execute whatever is in it. Same goes for sending messages downward in the hierarchy, which would be very helpful for interacting with templates.

Here is the documentation for functionality implemented in Unity3D.