Lots of refactoring to make heuristics more OO