Absolutely!
And good Question! Until now i have never used start stop and setup because it wasnt necessary in my particular scenario. And when importing js modules I add them to my settings and import them to the "main"-node function by
const fs = global.get('fs')
If I remember it right, this Import Module feature in the function setup is not that old.
However, the function node when exported to a flowfile turns out to be:
{
stuff1:"",
name:"superfunction",
stuff2:"";
"func":"msg.payload= 'This ist the interesting Stuff';\nreturn msg;",
"initialize":"msg.payload = 'The StartFunction';\nreturn msg",
"finalize":"msg.payload = 'The EndFunction';\nreturn msg",
"morestuff":""
}
that means, it should be no problem to not only extract the 'func' part, but to wrap two functions in the function named init() & finit().
However2, maybe I can include this one afterwork evening but yet this does not target to gain execable js code from NR Nodes. For the sake of Versioning or copying it back to the flow, you are right, s.o. who uses this could need that.
Yes when I edit, at the moment, I copy and Paste back manually.
Well if there are 100 functions in the file, you dont work on all 100 at the same time, but on one or two.
For that I have the Node ID as a comment above the function by which i find the Node in the NR editor, and paste the complete function back in. but youre right a reimport feature would be awesome 
However3, I needed a solution for editing and versioning and sharing logic with people who don't use node red and therefore have no instance installed. Instead of copy'n'paste 2 hours, I decided to spend two hours writing this script. But I appreciate your Input, that hasnt been coming to my mind like that, yet. When I have more time, this is something definitely worth considering to implement.