ensuring that events finish after they start