With this change we properly set up the frame first, and tear it down last, doing argument checking only when the frame is set up.