Updates to docs
Made input and output handler virtual implementation methods private
Renamed non-virtual interface methods string_value etc. back to value
Code cleanup
Updates to docs