Email Record: A multi-staged software design approach for fault tolerance /