Here's another suggested improvement: do you think you can pass all the strategies as a constructor parameter? Or is that too unpractical?