A lot of people use Scriptd to create automations based on events.
When an event has a node associated, Scriptd gets the node and expose it. The problem is that it only exposes the top-level object, which means, if you try to list IP interfaces, categories, etc. that will throw a LazyInitializationException because the object is considered a detached object by Hibernate, as it is running outside a transaction.
I propose to either make sure that a BeanShell/Groovy script runs inside a transaction (which will make a lot of integrations easier), or be sure that the LaziyInitializationException won't be generated.
Currently, you have to use Groovy, in order to handle the transactions on your script and be able to perform DAO calls. This is not possible with BeanShell at the moment.