How NOT to do it, but a bit better
- this is basically just a performance improvement
- at least we now don't init all the objects on each run
- might be expensive!
- But it still sucks, because we cannot replace the lexically scoped object instances from the outside