Committing various changes that I've implemented today, backups and upgrade snapshots are now fully working. Remaining bits to work on mainly include the 'rollback' function and the 'restore' functions.