Use values instead of pointers.
Add an API facade for backups.
Add tests.