DatabaseAccessModel refactored. Generalized insert to database broken into small testable and reusable pieces.