Index: src/java/wicket/contrib/examples/gmap/GMapExampleApplication.java
===================================================================
--- src/java/wicket/contrib/examples/gmap/GMapExampleApplication.java	(revision 1712)
+++ src/java/wicket/contrib/examples/gmap/GMapExampleApplication.java	(working copy)
@@ -35,6 +35,7 @@
 	@Override
 	protected void init()
 	{
+        configure( DEVELOPMENT );
         getResourceSettings().setResourcePollFrequency(Duration.seconds(10));
 	}
 
Index: src/java/wicket/contrib/examples/gmap/HomePage.java
===================================================================
--- src/java/wicket/contrib/examples/gmap/HomePage.java	(revision 1712)
+++ src/java/wicket/contrib/examples/gmap/HomePage.java	(working copy)
@@ -18,7 +18,9 @@
  */
 package wicket.contrib.examples.gmap;
 
+import wicket.MarkupContainer;
 import wicket.contrib.examples.WicketExamplePage;
+import wicket.contrib.gmap.ComponentFactory;
 import wicket.contrib.gmap.GMap;
 import wicket.contrib.gmap.GMapPanel;
 import wicket.contrib.gmap.GMarker;
@@ -28,45 +30,73 @@
 /**
  * @author Iulian-Corneliu COSTAN
  */
-public class HomePage extends WicketExamplePage {
+public class HomePage extends WicketExamplePage
+{
 
-	private static final long serialVersionUID = 1L;
+    private static final long serialVersionUID = 1L;
 
-	public HomePage() {
-		// add gmap
-		GMap gmap = new GMap(new GPoint(10, 30), 15);
-		gmap.setTypeControl(true);
-		gmap.setSmallMapControl(true);
+    public HomePage()
+    {
+        // add gmap
+        GMap gmap = new GMap( new GPoint( 10, 30 ), 15 );
+        gmap.setTypeControl( true );
+        gmap.setSmallMapControl( true );
 
-		// www.wicket-library.com
-		GMarker wicketLibrary = new GMarker(new GPoint(-112.1872f, 33.2765f),
-				new Label(this, "gmarkerInfo", "www.wicket-library.com"));
-		gmap.addOverlay(wicketLibrary);
+        // www.wicket-library.com
+        GMarker<Label> wicketLibrary = new GMarker<Label>( new GPoint( -112.1872f, 33.2765f ),
+            newLabelComponentFactory() );
+        gmap.addOverlay( wicketLibrary );
 
-		// www.wicket.org
-		GMarker wicket = new GMarker(new GPoint(-78.7073f, 35.7512f),
-				new InfoPanel(this, "gmarkerInfo"));
-		gmap.addOverlay(wicket);
+        // www.wicket.org
+        GMarker<InfoPanel> wicket = new GMarker<InfoPanel>( new GPoint( -78.7073f, 35.7512f ),
+            newInfoPanelComponentFactory() );
+        gmap.addOverlay( wicket );
 
-		new GMapPanel(this, "gmap", gmap, 800, 600,
-				LOCALHOST_8080_WICKET_CONTRIB_GMAP_KEY);
-	}
+        new GMapPanel( this, "gmap", gmap, 800, 600, LOCALHOST_8080_WICKET_CONTRIB_GMAP_KEY );
+    }
 
-	// pay attention at webapp deploy context, we need a different key for each
-	// deploy context
-	// check <a href="http://www.google.com/apis/maps/signup.html">Google Maps
-	// API - Sign Up</a> for more info
+    private final ComponentFactory<InfoPanel> newInfoPanelComponentFactory()
+    {
+        return new ComponentFactory<InfoPanel>()
+        {
+            private static final long serialVersionUID = 1L;
 
-	// key for http://localhost:8080/wicket-contrib-gmap, deploy context is
-	// wicket-contrib-gmap
-	private static final String LOCALHOST_8080_WICKET_CONTRIB_GMAP_KEY = "ABQIAAAALjfJpigGWq5XvKwy7McLIxTDxbH1TVfo7w-iwzG2OxhXSIjJdhQTwgha-mCK8wiVEq4rgi9qvz8HYw";
+            public <V extends MarkupContainer> InfoPanel createComponent( V parent, String wicketId )
+            {
+                return new InfoPanel( parent, wicketId );
+            }
+        };
+    }
 
-	// key for http://localhost:8080/gmap, deploy context is gmap
-	private static final String GMAP_8080_KEY = "ABQIAAAALjfJpigGWq5XvKwy7McLIxTh_sjBSLCHIDZfjzu1cFb3Pz7MrRQLOeA7BMLtPnXOjHn46gG11m_VFg";
+    private final ComponentFactory<Label> newLabelComponentFactory()
+    {
+        return new ComponentFactory<Label>()
+        {
+            private static final long serialVersionUID = 1L;
 
-	// key for http://localhost/gmap
-	private static final String GMAP_DEFAULT_KEY = "ABQIAAAALjfJpigGWq5XvKwy7McLIxTIqKwA3nrz2BTziwZcGRDeDRNmMxS-FtSv7KGpE1A21EJiYSIibc-oEA";
+            public <V extends MarkupContainer> Label createComponent( V parent, String wicketId )
+            {
+                return new Label( parent, wicketId, "www.wicket-library.com" );
+            }
 
-	// key for http://www.wicket-library.com/wicket-examples/
-	private static final String WICKET_LIBRARY_KEY = "ABQIAAAALjfJpigGWq5XvKwy7McLIxQTV35WN9IbLCS5__wznwqtm2prcBQxH8xw59T_NZJ3NCsDSwdTwHTrhg";
+        };
+    }
+
+    // pay attention at webapp deploy context, we need a different key for each
+    // deploy context
+    // check <a href="http://www.google.com/apis/maps/signup.html">Google Maps
+    // API - Sign Up</a> for more info
+
+    // key for http://localhost:8080/wicket-contrib-gmap, deploy context is
+    // wicket-contrib-gmap
+    private static final String LOCALHOST_8080_WICKET_CONTRIB_GMAP_KEY = "ABQIAAAALjfJpigGWq5XvKwy7McLIxTDxbH1TVfo7w-iwzG2OxhXSIjJdhQTwgha-mCK8wiVEq4rgi9qvz8HYw";
+
+    // key for http://localhost:8080/gmap, deploy context is gmap
+    private static final String GMAP_8080_KEY = "ABQIAAAALjfJpigGWq5XvKwy7McLIxTh_sjBSLCHIDZfjzu1cFb3Pz7MrRQLOeA7BMLtPnXOjHn46gG11m_VFg";
+
+    // key for http://localhost/gmap
+    private static final String GMAP_DEFAULT_KEY = "ABQIAAAALjfJpigGWq5XvKwy7McLIxTIqKwA3nrz2BTziwZcGRDeDRNmMxS-FtSv7KGpE1A21EJiYSIibc-oEA";
+
+    // key for http://www.wicket-library.com/wicket-examples/
+    private static final String WICKET_LIBRARY_KEY = "ABQIAAAALjfJpigGWq5XvKwy7McLIxQTV35WN9IbLCS5__wznwqtm2prcBQxH8xw59T_NZJ3NCsDSwdTwHTrhg";
 }
Index: src/java/wicket/contrib/examples/gmap/InfoPanel.java
===================================================================
--- src/java/wicket/contrib/examples/gmap/InfoPanel.java	(revision 1712)
+++ src/java/wicket/contrib/examples/gmap/InfoPanel.java	(working copy)
@@ -25,9 +25,9 @@
 
 			protected void populateItem(final ListItem<Developer> item) {
 				Developer developer = item.getModelObject();
-				new Label(this, "firstname", developer.getFirstname());
-				new Label(this, "lastname", developer.getLastname());
-				new Label(this, "email", developer.getEmail());
+				new Label(item, "firstname", developer.getFirstname());
+				new Label(item, "lastname", developer.getLastname());
+				new Label(item, "email", developer.getEmail());
 			}
 		};
 	}
Index: pom.xml
===================================================================
--- pom.xml	(revision 1712)
+++ pom.xml	(working copy)
@@ -43,25 +43,22 @@
             <groupId>wicket</groupId>
             <artifactId>wicket</artifactId>
             <version>2.0-SNAPSHOT</version>
-            <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>wicket-stuff</groupId>
             <artifactId>wicket-contrib-gmap</artifactId>
             <version>2.0-SNAPSHOT</version>
-            <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
             <version>3.8.1</version>
-            <scope>compile</scope>
+            <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>commons-logging</groupId>
             <artifactId>commons-logging</artifactId>
             <version>1.0.4</version>
-            <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>javax.servlet</groupId>
@@ -73,20 +70,17 @@
             <groupId>log4j</groupId>
             <artifactId>log4j</artifactId>
             <version>1.2.12</version>
-            <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>commons-collections</groupId>
             <artifactId>commons-collections</artifactId>
             <version>3.1</version>
-            <scope>compile</scope>
         </dependency>
 		<dependency>
 			<groupId>org.slf4j</groupId>
-			<artifactId>slf4j-log4j12</artifactId>
-			<version>1.1.0</version>
-			<optional>true</optional>
-			<scope>provided</scope>
+			<artifactId>slf4j-jdk14</artifactId>
+			<version>1.2</version>
+            <scope>runtime</scope>
 		</dependency>
     </dependencies>
 
