      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */    
-    public function canRemove():Boolean
-    {
-        if (hasEventListener(FlexEvent.REMOVING))
-        {
-            var event:FlexEvent = new FlexEvent(FlexEvent.REMOVING, false, true);
+    mx_internal function canRemove():Boolean
+    {
+        if (hasEventListener(ViewNavigatorEvent.REMOVING))
+        {
+            var event:ViewNavigatorEvent = 
+                new ViewNavigatorEvent(ViewNavigatorEvent.REMOVING, 
+                                       false, true, navigator.lastAction);
+            
             return dispatchEvent(event);
         }
         
         return true;
+    }
+    
+    /**
+     *  @private
+     */ 
+    mx_internal function backKeyHandler():Boolean
+    {
+        if (hasEventListener(FlexEvent.BACK_KEY_PRESSED))
+        {
+            var event:FlexEvent = new FlexEvent(FlexEvent.BACK_KEY_PRESSED, false, true);
+            var eventCanceled:Boolean = !dispatchEvent(event);
+            
+            // If the event was canceled, that means the application
+            // is doing its own custom logic for the back key
+            return eventCanceled;
+        }
+        
+        return false;
     }
     
     //----------------------------------

        {
            _active = value;
            
            var eventName:String = _active ? FlexEvent.VIEW_ACTIVATE : FlexEvent.VIEW_DEACTIVATE;
            if (hasEventListener(eventName))
                dispatchEvent(new FlexEvent(eventName));
        }
    }


//--------------------------------------
//  Events
//--------------------------------------

/**
 *  Dispatched when the back key is pressed when a view exists inside
 *  a mobile application.
 *  
 *  @langversion 3.0
 *  @playerversion Flash 10.1
 *  @playerversion AIR 2.5
 *  @productversion Flex 4.5
 * 
 *  @eventType mx.events.FlexEvent.BACK_KEY_PRESSED
 * 
 */
[Event(name="backKeyPressed", type="mx.events.FlexEvent")]

/**
 *  Dispatched when the <code>data</code> property changes.
