McClatchey, Richard, Branson, Andrew, Shamdasani, Jetendr, "Designing reusable systems that can handle change- description-driven systems: Revisiting object-oriented principles", arXiv, 2014