change callbacks to before_save

use before_save instead of after_initialize to
set Blank* data
more cleanup based on Luke's feedback