Yes, the tricky bit is to make sure it uses a read-writable format (e.g. squashfs won't 'easily' do for save purpose since read-only unless unsquashed and then squashed again later), but ALSO to mount the savefile you first have to mount the partition it is in and you have to make sure you have mechanism to mount that containing partition as read-write also - that can be difficult (for example, for ntfs partition, older Linux kernel itself could only mount ntfs partition read-only (unless external ntfs-3g driver and its dependencies was available) so savefile at top layer was therefore itself only read-only (so couldn't save to it...).
But now that kernel contains ntfs3 inbuilt driver we no longer need ntfs-3g available to the initramfs, so matters have improved greatly. In new KLV, I am using that ntfs3 to mount the containing partition and thus the ext4 (or whatever) savefile also ends up in required read-write condition.
During recent initial experiments, things went wrong, because I had made a simple coding error (without noticing it) and as a result I thought busybox mount wasn't working with ntfs3, but fortunately a comment from mistfire made me check that again to find that was not the issue, and then I found my own simple mistake quickly thereafter... A wrong fact, belief, or simple experimental error can sometimes prevent a development occurring! Very simple to add savefile support in the end actually - complexity just comes from initrd/init logic being pretty complex to deal with the huge number of flexible arrangement the initrd/init used here can provide - tricky simply because one simple code mistake in initrd/init can result in dreaded kernel crash or similar on boot!... It is difficult to be as perfect, coding-wise, as computer sometimes demands... one quote or comma or bracket out of place and BANG, and can be difficult to debug in such circumstances when nothing is going! Debug is actually easier with KLV than most distros since much of the boot initrd work is actually done in external to cpio-compressed initrd inside the simple text file w_init; that file is making my dev work on WDL initrd much much easier than continually having to uncompress the cpio-initrd-archive and so on.