Reusing plugins and behaviors had been discussed many times.
An expression through an action plus a condition is a solution, but it is not a good solution if these code should be encapsulated. i.e. it should not be exposured to users, like a private method.
I am not trying put all things into plugins, ACE are necessary to configure plugins, but there still could have another way to make plugins to communicate to each other directly without event sheet. It will make event sheet more clearly.