@Gulfie Dependency injection is one of those things that convience me nobody has a clue what designing software even is. Like, it always seems like it's making "give something an object wrapping a bunch of capabilities to do something else" way to complicated. Like I swear it's just like
```
foo, bar = Thingy.new(), Thingy.new()
foo.doThinger = SuperDoThinger.new()
bar.doThinger = UltraDoThinger.new()
```
and it's complicated and messy cause your language sucks balls.