In order to build a preformant code code base we may want to make parallized code in which case having a lockable DObject is a useful construct