Abstracted heuristics into a class rather than a function, also separated out additional classes for creating a particular weighting for the straight weighted position heuristic.