Added max method
Added a prepareData method that prepares data for insertion into the
database. It removes any -1 id values. Also took over control of the set
and get Id functionality and made it final so we can no longer sub class
it.