Since NAN basically parrots the v8 API, I find it's easier to just code to the ever-changing v8 API, rather than the ever-changing NAN API. With the former approach you get readable and debuggable code. I'm not sure what NAN isolates you from if it doesn't have a strong API guarantee to protect you from future v8 API changes.