I think there is still a problem here. For example, the JRubyEngine has fields `container` and `context`. The `container` is mutated during `eval()`. It may be that the mutations are benign, but I don't know. It might be necessary to use a pool of engine instances.