node.data supports object values
jsdoc fixes
detail -> _data because detail is already reserved and should be long according to the spec