no longer require cleanup to be called by transitions