Another way to look at this also is you can load any functions outside of any specific widget by creating a global cms plugin in vbulletin which loads all the functions your using and loads anytime the cms is accessed. That is the beauty of the
vb plugin system.
That way you can create any widget you want without actually including the functions and create this issue trying to replicate the same thing over and over.