Log modifications made by script and output them on the page.

Modifications, made by the script, are added to a list and logged from within the service and returned to the browser.
The browser displays the modifications on a similar panel like the output panel. The modifications are logged on node level (no logging on property level).
I'm using an inefficient way to find modifications (recurse + use JCR's item.isModified()) but it looks like this is the only way to do it.