Yep, I think Keithcurtis has a valid point here. If two instances of the API could be controlled by to separate GMs and maybe even run in parallel mayhem would occur. It would be hard enough to prevent race conditions, infinite loops and similar programming errors with pregenerated (or curated API scripts) if they're run side by side. But as User generated scripts are a thing those scripts would most likely cause complete chaos. Global variables, the State of the Script could and would get possibly overwritten by the second instance of the script. There's surely also reasoning from a business perspective that will go along the lines of "If we could run several API instances side by side for a game, we would have more cases where characters got messed up (The Devs said so). As we know users are really bad at heeding warning messages we will have more support cases with users having f'ed up a character or a game with the API and we cannot afford to hire that much support people". And one last point, JavaScript as the language driving the API scripts is a) easy to f' up, b) not that easy if you want to get it right. If you take a look at the API forums you relatively often see questions being asked by people who have a domain specific problem they want to solve (something about the VTT) but no prior experience in programming. Hell, a webdeveloper doing a little bit JavaScript here and there would have no idea on all the topics you have to understand to run JavaScript in the backend safely. Yes, I firmly believe this also has business reasons as I pointed out, but that is not the primary reason. The primary reason is that everything else would cause problems all over the place with no easy fix.