Allowed Uri classes to use a custom session if it's provided

It works and it includes tests and documentation :)
I wouldn't add install specific stuff to these tasks, any reason to?