do any of the node version managers take the shim approach like rbenv does or so they all hook shell functions?