might be worth using volatile here and double-checked later because isUnsubscribed is called in many places and the synchronized call is expensive.