I like the deterministic model suggested by Po`Girl
>when you want to install a program that requires it, then you have to install it.
In programming, this is called Lazy Evaluation --
you wait until the answer is needed and thus save all the work required until
1) you HAVE TO, or
2) it's never requested and thus never waste the effort/resources.