Based on code in #69 TODO: decide whether to apply deep copying of attributes (array copy) - .. or remain shallow (as prototype in #69)