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.
In Section
Seekers of Perl Wisdom