Just to make sure I understand you - if some additional transfer functions are included in the public API, you would have the internally implemented functions selected by the string arg, and if the string doesn't correspond to one of the internal ones, I would look for the user function in locals()?