Any program that tries to be so generalized and configurable that it could handle any kind of task will either fall short of this goal, or will be horribly broken. — Chris Wenham