Yosemite.js has built-in interceptors for link and form elements, which means you don't have to change those target URLs at all.
Yosemite.js automatically teardowns page resources when switching between page contexts. Our long-term goal is to eventually make every page a sandbox scope.
Yosemite.js has thoughtful callbacks in each lifecycle of page context, which makes it can fit in your project as easy as you expect.