todo: ideas on state saving/restoring.