Crell's Law: If an API must be use-case-optimized, make it swappable & tailor the default for cheap shared hosting. High-end sites can swap. Eaton's Corollary: If an API is swappable, write two implementations. APIs with one test case are rarely flexible enough for the second. --eaton