i think these three need to be in commonjs() as a plugin, we have to build a require map beforehand to get rid of aliasing so having them as separate plugins wont work to well, unless we abstracted even more but that just gets confusing if the plugins have weird relationships