monkey patched Construct and Hash to add cloneData to ensure we can get a deep enough clone of Constructs when needed