support optional callback to `.node()`