This member function mixes model and view and should be moved outside of the class.  Print members are bad; tostr()s are OK.