Use virtual copy constructor idiom - segfaults