Added interface for StrategyFactory, and changed the way defaults are
made or injected by just doing constructor injection.