DDAU (data down action up) is the common pattern for creating ideomatic components in modern Ember.js. This prevents (unexpectedly) changing your application state in components, and enables you to put your state management logic to where it belongs: the component/controller/service that "owns" that state.
But what to do if you want to enable controlling some specific part of your component for some rare cases where this is needed, but have a default common behaviour (just UI related) for controlling that property where this is not needed in most cases.
Let's look at this with an example: we want to create a component for a simple dropdown button. It has a open
property that controls the state of its dropdown menu being shown: when you click on the button that property is set to true
which renders the dropdown menu, and when you click again outside of it it will set it to false
and thus hide the menu. So far so good, this is t