Pulling out some DAO layer so we can divide work.