This will behave badly - self.CancelActivity() can change the state inside currAct when it is cancelled.
You can use SequenceActivities to insert a nudge before continuing with other activities, but you need to be very careful that you don't short circuit a non-cancellable activity.