Looking at the current implementation and algorithm description,
it does not seem we need to keep vector with all edges for
each cluster and can just remember the best one.
At least with the current implementation, this is NFC change I believe.
This allows to simplify the code a bit, patch shows the change I am suggesting.