Timeout event should be handled by controller as in the main repo (in this file).
In the main repo, when controller receives a timeout event message, it checks if the instance with associated height is decided. Only if it's not decided, then it calls instance.UponTimeout().
This behaviour is not coded in the spec. Thus, it seems that a timeout can occur even after the consensus has finished.
Timeout event should be handled by controller as in the main repo (in this file).
In the main repo, when controller receives a timeout event message, it checks if the instance with associated height is decided. Only if it's not decided, then it calls instance.UponTimeout().
This behaviour is not coded in the spec. Thus, it seems that a timeout can occur even after the consensus has finished.