Add off() signature to Contract; update the type hint