Refactored copier components to provide support classes and default
implementations. Added unit tests