note that spring security needs more work (if we want to use it at all)
merge forward and reverse default heuristics
rework RemainingWeightHeuristic interface