Fork me on GitHub

I have been fairly happy with the component pattern up until now. I like dependency injection, so state is all passed in, so encouraged a higher level of swapping out that state for alternative forms, and only depending on the state you need. I think it falls down with multiple dispatch though. Inevitably that multiple dispatch will need to access the entirety of you state/system across your dispatch functions. This seems dirty as it makes it less clear as to what a function needs in order to run, which is a detriment to the code locality I've come to love from system-based, er, systems. Does anybody have any advice or thoughts on this? I'd really appreciate my love back.