Restructuring.
Still re-purposing. Basic test doing something ok.
Added some str/repr handlers.