One of the most controversial things I believe about good software design is that your code should be more flexible than your domain model. This is in direct…| www.seangoedecke.com