I usually try to avoid self instantiating objects, easier to test / compose and all that, we have kinda missed the boat with that already though so should probably switch