Refactored to become `MatchingAlgorithm`.