A lightweight implementation of the strategy patter where the creation of instances is handled by the dependency injection framework.