Refactor: push functions down to private
Check mysql and sqlite work.
Requires scrapping the id out of a insert result