why is there both an 'exports' thing which is returned, and also these exported properties.. isn't the point of exports() to be the place where properties are put (unless I'm misreading what's going on here). This seems more complicated than it needs to be.