General cleanup of Base
Allow update callbacks to run.
Allow destroy callbacks to run.
More cleanup, add save! method to Base.