         if (textChanged || contentChanged || textAttributeChanged)
         {
             // Eliminate detritus from the previous TextFlow.
-            if (textFlow)
-            {
-                var controller:IContainerController = textFlow.controller;
-                if (controller)
-                {
-                    controller.clearAllSelectionShapes();
-                    controller.clearCompositionResults();
-                    controller.rootElement = null;
-                }
-                textFlow.container = null;
-            }
+            if (textFlow && textFlow.displayController)
+                textFlow.displayController.containerControllerList = null;
 
             // Create a new TextFlow for the current text.
             _content = textFlow = createTextFlow();
                         
             // Tell it where to create its TextLines.
-            textFlow.container = this;
+            textFlow.displayController = new StandardDisplayController();
+            var containerControllers:Vector.<IContainerController> =
+                new Vector.<IContainerController>();
+            containerControllers.push(
+                new DisplayObjectContainerController(this));
+            textFlow.displayController.containerControllerList =
+                containerControllers;
             
             // Give it an EditManager to make it editable.
             textFlow.interactionManager = new TextViewEditManager(); 

     */
    public function export():XML
    {
        return TextFilter.export(textFlow, TextFilter.TCAL_FORMAT).children()[0];
    }

    /**

     */
    private function textFlow_scrollHandler(event:Event):void
    {
        var containerController:IContainerController =
            textFlow.displayController.getContainerControllerAt(0);

        var newHorizontalScrollPosition:Number =
            containerController.horizontalScrollPosition;
        var newVerticalScrollPosition:Number =
            containerController.verticalScrollPosition;

        if (newHorizontalScrollPosition != _horizontalScrollPosition ||
            newVerticalScrollPosition != _verticalScrollPosition)
