The system mentioned above can leak memory when worlds unload if the callable references a world object, even though it's using a WeakHashMap. MeteoriteWorldGen.MeteoriteSpawn is where I've noticed it.
I'd replace Callable with a custom interface that passes the World object with the invocation, removing the need to store it at the target, e.g. void call(World).
Closes #1283: Add custom Callable to prevent memory leaks