Add documentation of the overall class design (current and proposed one)

Add a document describing current overall class design and the proposal
to change it. It captures output of a discussion between Machinery
developeres. It will hopefully serve as a basis for a more detailed plan
describing how to preform the transition.