Perhaps later we could try to use the dependency injection container to locate the appropriate class instead of doing a static match. This reminds me of [this discussion](http://martinfowler.com/articles/injection.html).