I did something similar here:
I did it in javascript and I also converted all my DSL rules to javascript because of the bug you mentioned.
I did something similar here:
I did it in javascript and I also converted all my DSL rules to javascript because of the bug you mentioned.