http://www.perlmonks.org?node_id=573762


in reply to design suggestions for object integration wanted

Observer/Listener pattern is perfect for this. The only type of errors, beyond simple imperative ones, are recursion errors. You can create an event recursion related, stack overflow. But you can do that in non-observer related code.