  { stCheckpoints   = initCheckpoints
  , stSystemState   = Sys.initState
  , stLast          = Sys.initState
  }

getCheckpoints      = stCheckpoints   <$> getState
getSystemState      = stSystemState   <$> getState
getLast             = stLast          <$> getState

setCheckpoints   x  = updateState (\st -> st { stCheckpoints   = x }) :: Control ()
setSystemState   x  = updateState (\st -> st { stSystemState   = x }) :: Control ()