Solution timer now works with arbitrary frequency.

Also cleaned up in solution_view.py