Extracting makeCopyable to a component