An offchain signature is a promise that you may include some data in a future update. What if the last person in an offchain transaction withholds their signature? You must be ready either way and let it timeout. How does the Lightning Network deal with signature withholding?
Simpler explanation: first you add a new valid state, then you invalidate the old one. There is a point where both states are valid, and one or both parties considers the transaction incomplete.
Read my blog!