Inherit from noncopyable to stop 
default copy constructor/
assignments of
subclasses.
