Added Methods for Copying implementation out of protocol and into separate classes

This will help with reducing the dependencies of classes like C4Window,
C4View, etc. that inherit from C4Control