This is the use case I was attempting to solve with VirtualBuddy[0], but GhostVM looks like a far more compelling solution now.

[0] https://github.com/insidegui/VirtualBuddy