ElbertF/Swiftlet — comment on commit 77e0983f19ba4d2dbf8ab089810331ccc2548186
File:  line 0
By ElbertF:

This way any of the classes can be easily swapped out for another. You could even run two instances of Swiftlet together if you wanted to. The first three paragraphs under "The factory pattern" in this article explain it nicely:

http://www.ibm.com/developerworks/library/os-php-designptrns/

Less global state should also make unit-testing more easy. I admit I did like the look and simplicity of `App::getModel()` though.