title: Explaining abstraction to a non-programmer
body: <p>Abstraction is a concept that seems difficult to explain, without reverting to using programming terminology. I've thought about it a lot, and I can't come up with a satisfactory answer. Does anyone have any very general, yet very pertinent explanations?</p>
  
  <p>Metaphors, similes etc are all welcome.</p>