Hi Michael,
Thank you for your quick response. Event observers seems to be promising solution. I can't say at the moment if this will be enough, and probably after I start coding I'll find out if I have all required information there, but it looks like elegant solution and easy to implement.
Thanks,
Zoran