Refactor algorithm to a singleton object
Algorithm:
-
Place all algorithm members into a singleton object -
Expose algorithm state via getter APIs on singleton
Others:
-
Change movement code to utilize public algorithm API to get information (as opposed to passing arguments from algorithm to movement) - This info would help fix #1 (closed)