It's a great idea. If you additionally also like working with chroots you might find containers an interesting topic.
Basically a container let's you wrap a part of your filesystem, network, process space in a separate world of its own. And in that world you have only the context related stuff like history, processes, libs etc. Additionally most container environments come with tooling that enables you to make everything reproducable, so that you can share your container with others.
The great thing is you can always live in global space, while switching between what that global space means.