Simplify the plugin context API to enforce immutability without neither relying on complex JS Proxy patterns, nor on the consumers to properly clone values
Generation interruptions weren't working in the case the generation had ended, but it's produced content was still being played. This commit fixes that.