☐ Save/load UI
    ✔ Basic version @done(20-01-03 15:27)
    ☐ Multiple slots etc.
☐ Custom texture cache
☐ Review constructor/initialization code
☐ Core timing events
☐ Serialize codeset with an apploader reference instead
✔ Review base class serialization everywhere @done(20-01-10 23:47)
    Make sure that all base/derived relationships are registered
✔ Additional stuff to serialize @done(20-01-11 16:32)
    ✔ Self-NCCH archive @done(20-01-11 16:32)
    ✔ File backends @done(20-01-11 16:32)
    ✘ Directory backends @cancelled(20-01-11 16:32)
        Not needed for now
    ✔ File/directory 'services' @done(20-01-10 23:46)
✔ CPU @done(19-08-13 15:41)
✔ Memory @done(19-08-13 15:41)
    ✔ Page tables @done(20-01-05 16:33)
        Need to change uses to shared_ptr
    ✔ Skip N3DS RAM if unused @done(20-01-03 23:26)
✔ DSP @done(19-12-28 16:57)
    Memory only
✔ Service manager @started(19-12-23 00:36) @done(19-12-23 11:38) @lasted(11h2m3s)
    ✔ Fix or ignore inverse map @done(19-12-23 12:46)
✘ App loader @cancelled(20-01-01 22:59)
    No relevant state
✔ Archive manager @started(20-01-01 23:03) @done(20-01-03 13:23) @lasted(1d14h20m40s)
    NB that 'FileBackend' classes are not persistent
    ✔ NCCH @started(20-01-02 22:50) @done(20-01-03 12:35) @lasted(13h45m50s)
        ✔ Normal @done(20-01-02 22:50)
        ✔ Self @done(20-01-03 12:35)
    ✔ SaveData @started(20-01-02 23:03) @done(20-01-02 23:27) @lasted(25m)
        ✔ Normal @done(20-01-02 23:03)
        ✔ Ext @done(20-01-02 23:26)
        ✔ Other @done(20-01-02 23:21)
        ✔ Source SD @done(20-01-02 23:03)
        ✔ System @done(20-01-02 23:13)
    ✔ SDMC @done(20-01-02 23:34)
        ✔ Normal @done(20-01-02 23:34)
        ✔ Write-only @done(20-01-02 23:34)
    ✔ IVFC @done(20-01-11 16:33)
    ✔ File refs @done(20-01-11 16:33)
    ✘ Replace delay generator with virtual fns @cancelled(20-01-03 13:16)
        While they have no state, the extra refactoring here is unneeded
✘ MMIO @cancelled(20-01-01 01:06)
    Seems that this whole subsystem is only used in tests
✘ Movie @cancelled(20-01-01 01:07)
    Doesn't need to be serialized here
✘ Perf stats @cancelled(20-01-01 01:09)
    Doesn't need to be serialized here
✘ Settings @cancelled(20-01-01 01:11)
    For now, let the settings just be whatever they are
✘ Telemetry session @cancelled(20-01-01 01:12)
    Doesn't need to be serialized here
✔ Replace SERIALIZE_AS_POD with BOOST_IS_BITWISE_SERIALIZABLE @started(20-01-03 13:47) @done(20-01-03 13:58) @lasted(11m22s)
✔ Fix CI @done(19-12-31 21:32)
✔ HW @done(19-08-13 15:41)
    ✔ GPU regs @done(19-08-13 15:41)
    ✔ LCD regs @done(19-08-13 15:41)
✔ Video core @started(19-08-13 16:43) @done(19-12-22 16:06)
    ✔ Geometry pipeline @done(19-12-22 15:52)
        Required more use of g_state
    ✔ PICA state @done(19-08-13 15:41)
    ✔ Primitive assembly @done(19-12-22 16:05)
    ✔ Shader @done(19-08-13 16:03)
✔ HLE @started(19-08-13 16:43) @done(20-01-06 20:37) @lasted(20w6d4h54m19s)
    ✔ Kernel @started(19-08-13 16:43) @done(20-01-06 20:37) @lasted(20w6d4h54m17s)
        Most of these require adding Core::Global
        ✔ Address arbiter @done(19-08-13 16:40)
        ✔ Client port @done(19-08-13 16:40)
        ✔ Client session @done(19-08-13 16:40)
        ✔ Config mem @done(20-01-04 21:09)
        ✔ Event @done(19-12-22 18:44)
        ✔ Handle table @done(19-08-13 16:42)
        ✔ HLE IPC @done(19-12-23 00:36)
        ✔ IPC @done(19-12-23 00:36)
        ✔ Memory @started(19-08-13 16:43) @done(19-12-22 18:34)
        ✔ Mutex @done(19-08-13 16:43)
        ✔ Object @done(19-08-13 15:41)
        ✔ Process @started(19-08-13 16:43) @done(19-12-22 18:41)
        ✔ Code set @started(19-12-22 18:41) @done(20-01-03 15:15) @lasted(1w4d20h34m2s)
            Needs a way to reference loaded images (so we don't serialize the entire ROM as well)
        ✔ Resource limit @done(19-08-13 16:43)
        ✔ Semaphore @done(19-08-13 16:44)
        ✔ Server port @done(19-08-13 16:44)
        ✔ Server session @done(19-08-13 16:44)
            ✔ Mapped buffer context @done(20-01-03 15:25)
                This is needed because IPC can take as long as it takes
                Changed the unique_ptr<u8[]> to vector<u8>
        ✔ Session @done(19-08-13 16:44)
        ✔ Shared memory @started(19-12-22 21:20) @done(20-01-04 21:09) @lasted(1w5d23h49m26s)
            Need to figure out backing memory (a u8*)
        ✔ Shared page @done(20-01-04 21:09)
        ✔ SVC @done(19-12-22 21:32)
            Nothing to do - all data is constant
        ✔ Thread @started(19-08-13 16:45) @done(20-01-06 20:01) @lasted(20w6d4h16m22s)
            This requires refactoring wakeup_callback to be an object ref
        ✔ Timer @done(19-08-13 16:45)
        ✔ VM Manager @started(19-08-13 16:46) @done(20-01-04 21:09) @lasted(20w4d5h23m42s)
            Just need to figure out backing_mem (a u8*)
        ✔ Wait object @done(19-08-13 16:46)
    ✔ Service @started(19-12-23 12:49) @done(20-01-05 16:41) @lasted(1w6d3h52m17s)
        ✔ AC @started(19-12-23 12:48) @done(19-12-24 22:38) @lasted(1d9h50m3s)
        ✔ ACT @done(19-12-24 23:17)
        ✔ AM @started(19-12-24 23:17) @done(19-12-24 23:53) @lasted(36m8s)
        ✔ APT @done(19-12-25 21:41)
        ✔ BOSS @started(19-12-25 21:48) @done(19-12-25 23:18) @lasted(1h30m14s)
        ✔ CAM @started(19-12-26 10:37) @done(20-01-03 23:38) @lasted(1w1d13h1m50s)
            Need to check capture_result
        ✔ CECD @done(20-01-01 23:58)
        ✔ CFG @done(20-01-02 00:44)
            Also needs archive backend..
        ✔ CSND @started(19-12-26 17:51) @done(19-12-26 17:56) @lasted(5m30s)
        ✔ DLP @done(19-12-26 18:02)
        ✔ DSP @done(19-12-26 18:10)
        ✔ ERR @done(19-12-26 18:14)
        ✔ FRD @done(19-12-26 19:09)
        ✔ FS @done(19-12-27 11:46)
        ✔ GSP @done(19-12-30 12:45)
            ✔ Fix the global weak_ptr to gsp @done(20-01-04 00:29)
                Didn't quite 'fix' it but worked around it
        ✔ HID @done(19-12-30 14:46)
        ✔ HTTP @done(19-12-30 15:18)
        ✔ IR @done(19-12-30 16:06)
        ✔ LDR_RO @done(19-12-30 16:25)
        ✔ MIC @done(19-12-30 16:53)
        ✔ MVD @done(19-12-31 18:26)
        ✔ NDM @done(19-12-31 18:26)
        ✔ NEWS @done(19-12-31 18:29)
        ✔ NFC @done(19-12-31 20:35)
        ✔ NIM @done(19-12-31 21:08)
        ✔ NS @done(20-01-01 00:46)
        ✔ NWM @done(20-01-01 21:31)
            ✔ Fix wifi_packet_received @done(20-01-05 16:41)
        ✔ PM @done(20-01-01 22:14)
        ✔ PS @done(20-01-01 00:54)
        ✔ PTM @done(20-01-01 22:36)
        ✔ PXI @done(20-01-01 00:53)
        ✔ QTM @done(20-01-01 22:41)
        ✔ SOC @done(20-01-01 00:51)
        ✔ SSL @done(20-01-01 00:48)
        ✔ Y2R @done(20-01-01 22:56)