I'd suggest you add this guy to the global virgo table instead of putting it into the global scope (check out virgo__push_function).  Also, is_new_exe isn't a great name.