Different from AnimationView in that:
- it sets up Log to listen to animation controls
- it translates PROBLEM_STARTED to RESET_ANIMATION and ANSWER_SUBMITTED to SET_ANIMATION
Does Breadth First Search to find the KnowledgeUnit node with content = desiredRoot
in the tree whose root is currentRoot - returns the desiredRoot's node