Js add work properties

adds a whole bunch of properties to the Work object.  moves a few up into the node so that we can avoid code duplication