Move heuristics to a separate package, allow compound heuristics