It currently relies on timing to pass, which is fragile. It should use some of the waiting macros instead.