Very well written and interesting post! With components how do you handle supervision trees if all the components (and hence supervision trees) are independent of each other? I would be interested in seeing an example app (beyond trivial!) that handles genserver messages eg handle_info, terminate etc. I look forward to see what conversation this library generates!