Composability Patterns for Hologram - Looking for Your Ideas

That’s definitely a valid concern with mixins. Though macros could inject introspection utilities to help with that. Just one of the options to consider.

I’m considering two main approaches (with different variants) for namespacing:

  1. using the module as a namespace key, like def action({Togglable, :do_sth}, ...) where action names, state, etc. get namespaced automatically.
  2. explicit prefixed keys like def action(:togglable_do_sth, ...).

Still an open question how to integrate this cleanly and whether full automation is feasible.