I will simplify the syntax for the events. Before:
(defc my-button [button-id text]
[:button {:on-click (dispatch [:button-clicked button-id])} text])
After:
(defc my-button [button-id text]
[:button {:on-click [:button-clicked button-id]} text])
Let me know if this sounds too strange or if I forgot something.