JBT-122: Rework piece selection
- Piece selection, requesting and cancellation is now self isolated instead of being spread out over multiple locations that need to work together.
- The "core processing" logic of a phase (selecting pieces and requesting them) is now extracted to internal impl.
- New way to expose internal state which is no longer state inside the model
Edited by Johan