Make UniformResourceLocator more dynamic and add functions to get its internal stage