The cost of adding a feature isn't just the time it takes to code it. The cost also includes the addition of an obstacle to future expansion. ... The trick is to pick the features that don't fight each other.
John CarmackIf you're willing to restrict the flexibility of your approach, you can almost always do something better
John CarmackIf you aren't sure which way to do something, do it both ways and see which works better.
John Carmack