What is the architectural use case for passing function names as strings? You could just pass the named function around imo and not lose IDE Code completion and all that.
There are a few other things we need to fix before we get there though, chief among those being memory use