I also wasn't so much referring to the potential of the users mis-using the API, but rather the inherent challenges associated with providing a thread-safe engine API. Lua does have one in the form of coroutines already. If you simply want concurrent running tasks, then a single-threaded asynchronous model is preferable. I can't really think of many scenarios where using multiple threads would be a requirement, unless you're doing something really computationally heavy (in which case, perhaps you should be making your own game instead anyway.). In my personal experience with modding, even the most 'demanding' mods don't really need to tap into multi-threading.