Is there a type safe way of defining this kind of thing that we're passing around? I just hate to see void* lying around because we lack a solution to a fairly solvable problem.. Not saying we need to change this, just that maybe here as part of refactoring the core, we could possibly leverage reflection to provide a low-overhead and simple any pointer construct. Also we should probably have some control over storage for closures..