wxBitmapButton::~wxBitmapButton()
 {
-    CocoaRemoveFromParent();
-    SetNSButton(NULL);
+    DisassociateNSButton(m_cocoaNSView);
 }
 
 void wxBitmapButton::Cocoa_wxNSButtonAction(void)
 
 
 wxButton::~wxButton()
 {
-    CocoaRemoveFromParent();
-    SetNSButton(NULL);
+    DisassociateNSButton(m_cocoaNSView);
 }
 
 void wxButton::Cocoa_wxNSButtonAction(void)
 
 
 wxCheckBox::~wxCheckBox()
 {
-    CocoaRemoveFromParent();
-    SetNSButton(NULL);
+    DisassociateNSButton(m_cocoaNSView);
 }
 
 void wxCheckBox::SetValue(bool)
 
 
 wxControl::~wxControl()
 {
-    CocoaRemoveFromParent();
-    SetNSControl(NULL);
+    DisassociateNSControl(m_cocoaNSView);
 }
 
 wxSize wxControl::DoGetBestSize() const
 
 
 wxRadioButton::~wxRadioButton()
 {
-    CocoaRemoveFromParent();
-    SetNSButton(NULL);
+    DisassociateNSButton(m_cocoaNSView);
 }
 
 void wxRadioButton::SetValue(bool)
 
 
 wxStaticBox::~wxStaticBox()
 {
-    CocoaRemoveFromParent();
-    SetNSBox(NULL);
+    DisassociateNSBox(m_cocoaNSView);
 }
 
 void wxStaticBox::GetBordersForSizer(int *borderTop, int *borderOther) const
 
 
 wxStaticText::~wxStaticText()
 {
-    CocoaRemoveFromParent();
-    SetNSTextField(NULL);
+    DisassociateNSTextField(m_cocoaNSView);
 }
 
 void wxStaticText::SetLabel(const wxString& label)
 
 
 wxTextCtrl::~wxTextCtrl()
 {
-    CocoaRemoveFromParent();
-    SetNSTextField(NULL);
+    DisassociateNSTextField(m_cocoaNSView);
 }
 
 void wxTextCtrl::Cocoa_didChangeText(void)