Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR MUST NOT BE MERGED. It's evidence that we need the proposed solution of @heartsucker via discussions happening on #100. This refactoring started so well (was enjoying reading through the implementation and felt good progress could be made), but as I tried to make the code work, I was running up against all the problems we've discussed: passing references all over the place, the logic growing into a mega-blob-of-code, over-mocking in tests etc. In the end it's been very frustrating.
So, this PR should NOT be merged, rather, it's evidence that the Qt-ish event-driven approach we've taken so far is not going to work.
My suggestion is we refactor this all out via the message bus proposal... as in, "When is the best time to plant a tree? 100 years ago... otherwise, now".
Here be dragons... 🐉