Replaced a number of 'createCopy' functions with a version in a base class, part of response to code review comments, see #3.