Scheme taught me that OOP is the poor man's closure.
func Backup(saver func(data []byte) error, data []byte) error { return saver(data) }