event optional in B.expand_or_contract.