diff --git a/dockingvl/pom.xml b/dockingvl/pom.xml
index 9e204d5d403ce509667b84e95b78151de4cf5775..6680a90fd7a99c3c5f113acd8ab6cc8f12972b7b 100644
--- a/dockingvl/pom.xml
+++ b/dockingvl/pom.xml
@@ -9,7 +9,7 @@
   </parent>
   <groupId>fr.soleil.lib</groupId>
   <artifactId>DockingVl</artifactId>
-  <version>1.0.8-SNAPSHOT</version>
+  <version>1.1.0-SNAPSHOT</version>
   <name>Docking VL</name>
   <description>VL Docking implementation of DockingCore</description>
   <developers>
diff --git a/dockingvl/src/main/java/fr/soleil/docking/vl/view/VlDockView.java b/dockingvl/src/main/java/fr/soleil/docking/vl/view/VlDockView.java
index 27c892f3a6b5501389b162e13ba66bb2aa88666e..ca1d81acaf9dccef32666cf890538bfa9e430863 100644
--- a/dockingvl/src/main/java/fr/soleil/docking/vl/view/VlDockView.java
+++ b/dockingvl/src/main/java/fr/soleil/docking/vl/view/VlDockView.java
@@ -25,11 +25,14 @@ import com.vldocking.swing.docking.event.DockingActionCloseEvent;
 import com.vldocking.swing.docking.event.DockingActionEvent;
 import com.vldocking.swing.docking.event.DockingActionListener;
 
+import fr.soleil.docking.event.DockingEvent;
+import fr.soleil.docking.listener.IViewListener;
+import fr.soleil.docking.listener.ViewListenerDelegate;
 import fr.soleil.docking.view.IView;
-import fr.soleil.docking.view.IViewListener;
 import fr.soleil.docking.vl.SoleilDockingDesktop;
 
 public class VlDockView implements IView, Dockable, DockingActionListener, FocusListener {
+
     protected Object id;
     protected boolean enabled;
     protected String title;
@@ -37,7 +40,7 @@ public class VlDockView implements IView, Dockable, DockingActionListener, Focus
     protected Icon icon;
     protected DockKey key;
     protected SoleilDockingDesktop dockingDesktop;
-    protected List<IViewListener> viewListeners;
+    protected final ViewListenerDelegate delegate;
 
     public VlDockView(String title, Icon icon, Component component, Object id) {
         this.title = title;
@@ -51,7 +54,7 @@ public class VlDockView implements IView, Dockable, DockingActionListener, Focus
             this.key = new DockKey(title, title, title, icon);
         }
 
-        this.viewListeners = new ArrayList<IViewListener>();
+        delegate = new ViewListenerDelegate();
         this.component.addFocusListener(this);
     }
 
@@ -107,7 +110,7 @@ public class VlDockView implements IView, Dockable, DockingActionListener, Focus
     @Override
     public void select() {
         setVisible(true);
-        // TODO marche pas !!!!!!
+        // TODO Doesn't work !!!!!!
         focus(component);
         focusGained(new FocusEvent(component, FocusEvent.FOCUS_GAINED));
     }
@@ -139,11 +142,21 @@ public class VlDockView implements IView, Dockable, DockingActionListener, Focus
         return title;
     }
 
+    @Override
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
     @Override
     public Icon getIcon() {
         return icon;
     }
 
+    @Override
+    public void setIcon(Icon icon) {
+        this.icon = icon;
+    }
+
     @Override
     public Color getViewBackground() {
         return component.getBackground();
@@ -168,11 +181,10 @@ public class VlDockView implements IView, Dockable, DockingActionListener, Focus
         component.setForeground(fg);
     }
 
-    /*
+    /**
      * Sets the background of all {@link Component}s in a given {@link List}
      * 
      * @param components The {@link List}
-     * 
      * @param bg The background to set
      */
     protected void setComponentsBackground(List<?> components, Color bg) {
@@ -216,12 +228,16 @@ public class VlDockView implements IView, Dockable, DockingActionListener, Focus
     @Override
     public void setClosable(boolean closable) {
         key.setCloseEnabled(closable);
-
     }
 
     @Override
     public void addViewListener(final IViewListener listener) {
-        viewListeners.add(listener);
+        delegate.addViewListener(listener);
+    }
+
+    @Override
+    public void removeViewListener(IViewListener listener) {
+        delegate.removeViewListener(listener);
     }
 
     @Override
@@ -235,26 +251,23 @@ public class VlDockView implements IView, Dockable, DockingActionListener, Focus
     }
 
     @Override
-    public void dockingActionPerformed(DockingActionEvent event) {
-        if (event.getActionType() == DockingActionEvent.ACTION_CLOSE) {
-            Dockable closedDockable = ((DockingActionCloseEvent) event).getDockable();
+    public void dockingActionPerformed(DockingActionEvent e) {
+        if (e.getActionType() == DockingActionEvent.ACTION_CLOSE) {
+            Dockable closedDockable = ((DockingActionCloseEvent) e).getDockable();
             if (getDockKey().getKey().equals(closedDockable.getDockKey().getKey())) {
-                for (IViewListener listener : viewListeners) {
-                    listener.viewClosed();
-                }
+                delegate.warnListeners(new DockingEvent(this, DockingEvent.VIEW_CLOSED));
             }
         }
     }
 
     @Override
     public void focusGained(FocusEvent e) {
-        for (IViewListener listener : viewListeners) {
-            listener.focusGained();
-        }
+        delegate.warnListeners(new DockingEvent(this, DockingEvent.FOCUS_GAINED));
     }
 
     @Override
     public void focusLost(FocusEvent e) {
-        // Not managed.
+        delegate.warnListeners(new DockingEvent(this, DockingEvent.FOCUS_LOST));
     }
+
 }