Why do we have a UMD and non-UMD build? Is that just to keep the build the same with this PR but update the build *process*?