Programmers are always like "ok I'll explain dependency injection... Let's say you need to foo bar with your baz, instead of bazzing your class foo you initialize the baz with your bar"
@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.
@Gulfie Maybe I'm too prototype-based to understand why "dynamically changing the capabilities of an object" is so novel.