I like how you check to see if the argument is an `object` above ... should we check to make sure that it has a `properties` property before checking its length?  Or maybe check somehow to see if it's a VWF node (that has properties, methods, etc) instead of just a js `object`?