Move RequestFactory to com.google.web.bindery.requestfactory

Review at http://gwt-code-reviews.appspot.com/1403802

Review by: kbae@google.com

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@9946 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/build.xml b/build.xml
index e17454d..5455b80 100755
--- a/build.xml
+++ b/build.xml
@@ -37,8 +37,10 @@
           description="[action] Minimal one-platform devel build, without distro packaging">
     <call-subproject subproject="dev" subtarget="build" />
     <call-subproject subproject="user" subtarget="build" />
+    <call-subproject subproject="requestfactory" subtarget="build" />
     <call-subproject subproject="servlet" subtarget="build" />
     <call-subproject subproject="jni" subtarget="build" />
+    <call-subproject subproject="requestfactory" subtarget="build" />
   </target>
 
   <target name="dist" depends="build, doc" description="[action] Make all the distributions">
@@ -70,6 +72,11 @@
     <gwt.ant dir="tools" />
   </target>
 
+  <target name="requestfactory" description="[subdir] Builds (or runs ${target} if set) only the requestfactory jars">
+    <call-subproject subproject="user" subtarget="build" />
+    <gwt.ant dir="requestfactory" />
+  </target>
+
   <target name="servlet" description="[subdir] Builds (or runs ${target} if set) only the servlet jar">
     <call-subproject subproject="user" subtarget="build" />
     <gwt.ant dir="servlet" />
@@ -94,18 +101,20 @@
   </target>
 
   <target name="build" description="[action] Builds GWT, including samples, but without distro packaging">
-     <call-subproject subproject="dev" subtarget="build"/>
-     <call-subproject subproject="user" subtarget="build"/>
-     <call-subproject subproject="servlet" subtarget="build"/>
-     <call-subproject subproject="tools" subtarget="build"/>
-     <call-subproject subproject="jni" subtarget="build"/>
-     <call-subproject subproject="samples" subtarget="build"/>
+    <call-subproject subproject="dev" subtarget="build"/>
+    <call-subproject subproject="user" subtarget="build"/>
+    <call-subproject subproject="requestfactory" subtarget="build"/>
+    <call-subproject subproject="servlet" subtarget="build"/>
+    <call-subproject subproject="tools" subtarget="build"/>
+    <call-subproject subproject="jni" subtarget="build"/>
+    <call-subproject subproject="samples" subtarget="build"/>
   </target>
 
   <target name="checkstyle" description="[action] Does static analysis of GWT source">
     <call-subproject subproject="buildtools" subtarget="checkstyle" />
     <call-subproject subproject="dev" subtarget="checkstyle" />
     <call-subproject subproject="user" subtarget="checkstyle" />
+    <call-subproject subproject="requestfactory" subtarget="checkstyle" />
     <call-subproject subproject="servlet" subtarget="checkstyle" />
     <call-subproject subproject="tools" subtarget="checkstyle" />
     <call-subproject subproject="samples" subtarget="checkstyle" />
@@ -116,10 +125,18 @@
     <call-subproject subproject="buildtools" subtarget="test" />
     <call-subproject subproject="dev" subtarget="test" />
     <call-subproject subproject="user" subtarget="test" />
+    <call-subproject subproject="requestfactory" subtarget="test" />
     <call-subproject subproject="servlet" subtarget="test" />
     <call-subproject subproject="tools" subtarget="test" />
   </target>
 
+  <target name="testrf" depends="dist-dev" 
+          description="[action] Runs the GWT RequestFactory tests">
+    <call-subproject subproject="dev" subtarget="compile.tests" />
+    <call-subproject subproject="user" subtarget="compile.tests" />
+    <call-subproject subproject="requestfactory" subtarget="test" />
+  </target>
+
   <target name="benchmark" depends="dist-dev" 
           description="[action] Runs all the GWT benchmarks">
     <call-subproject subproject="user" subtarget="benchmark" />
diff --git a/requestfactory/build.xml b/requestfactory/build.xml
new file mode 100755
index 0000000..8c41c14
--- /dev/null
+++ b/requestfactory/build.xml
@@ -0,0 +1,103 @@
+<project name="requestfactory" default="build" basedir=".">
+  <property name="gwt.root" location=".." />
+  <property name="project.tail" value="requestfactory" />
+  <import file="${gwt.root}/common.ant.xml" />
+
+  <!-- Remove all output files -->
+  <target name="clean" description="Cleans this project's output files">
+    <delete file="${gwt.build.lib}/requestfactory-client.jar" />
+    <delete file="${gwt.build.lib}/requestfactory-client-src.jar" />
+    <delete file="${gwt.build.lib}/requestfactory-client+src.jar" />
+    <delete file="${gwt.build.lib}/requestfactory-server.jar" />
+    <delete file="${gwt.build.lib}/requestfactory-server-src.jar" />
+    <delete file="${gwt.build.lib}/requestfactory-server+src.jar" />
+    <delete file="${gwt.build.lib}/requestfactory-test+src.jar" />
+  </target>
+
+  <!-- Build a jar file containing a subset of requestfactory -->
+  <macrodef name="requestfactory-jar">
+    <!--
+         "target" should be one of {client,server,all}[(+|-)src] or test+src.
+         -src includes .java files only, +src includes .java and .class files
+    -->
+    <attribute name="target" default="client"/>
+    <sequential>
+      <java failonerror="true" fork="true"
+            classname="com.google.web.bindery.requestfactory.server.RequestFactoryJarExtractor">
+        <classpath>
+          <fileset dir="${gwt.build.lib}" includes="gwt-user.jar,gwt-dev.jar" />
+          <fileset dir="${gwt.tools.redist}" includes="json/r2_20080312/json-1.5.jar" />
+          <pathelement location="${gwt.tools.lib}/junit/junit-4.8.2.jar" />
+          <pathelement path="${gwt.build.out}/user/bin" />
+          <pathelement path="${gwt.build.out}/dev/bin-test" />
+          <pathelement path="${gwt.build.out}/user/bin-test" />
+        </classpath>
+        <arg value="@{target}"/>
+        <arg file="${gwt.build.lib}/requestfactory-@{target}.jar"/>
+      </java>
+    </sequential>
+  </macrodef>
+ 
+  <!-- Targets for individual jars -->
+
+  <target name="requestfactory-client" description="Build RequestFactory client jar">
+    <requestfactory-jar target="client"/>
+  </target>
+
+  <target name="requestfactory-client-src" description="Build RequestFactory client source jar">
+    <requestfactory-jar target="client-src"/>
+  </target>
+
+  <target name="requestfactory-client+src" description="Build RequestFactory client source/class jar">
+    <requestfactory-jar target="client+src"/>
+  </target>
+
+  <target name="requestfactory-server" description="Build RequestFactory server jar">
+    <requestfactory-jar target="server"/>
+  </target>
+
+  <target name="requestfactory-server-src" description="Build RequestFactory server source jar">
+    <requestfactory-jar target="server-src"/>
+  </target>
+
+  <target name="requestfactory-server+src" description="Build RequestFactory server source/class jar">
+    <requestfactory-jar target="server+src"/>
+  </target>
+
+  <!-- This target requires classes from ../build/{dev,user}/bin-test -->
+  <target name="requestfactory-test+src" description="Build RequestFactory test source/class jar">
+    <requestfactory-jar target="test+src" />
+  </target>
+
+  <!-- Build all client jars -->
+  <target name="clientjars" depends="requestfactory-client,requestfactory-client-src,requestfactory-client+src" description="Build requestfactory client jars" />
+
+  <!-- Build all server jars -->
+  <target name="serverjars" depends="requestfactory-server,requestfactory-server-src,requestfactory-server+src" description="Build requestfactory server jars" />
+
+  <!-- Default target, build client and server jars.
+       Assumes the 'user' target has been built in the trunk directory
+  -->
+  <target name="build" depends="clientjars,serverjars" />
+
+  <!-- Run RequestFactoryJreSuite from the requestfactory-test+src jar.
+       Assumes test classes have been built in the trunk directory
+  -->
+  <target name="test" depends="requestfactory-test+src" description="Run RequestFactoryJreSuite">
+    <java failonerror="true" fork="true"
+      classname="com.google.web.bindery.requestfactory.RequestFactoryJreSuite">
+      <jvmarg value="-Xss8m" />
+      <classpath>
+        <fileset dir="${gwt.tools.lib}" includes="tomcat/servlet-api-2.5.jar" />
+        <fileset dir="${gwt.tools.lib}" includes="apache/log4j/log4j-1.2.16.jar" />
+        <fileset dir="${gwt.tools.lib}" includes="slf4j/slf4j-api/slf4j-api-1.6.1.jar" />
+        <fileset dir="${gwt.tools.lib}" includes="slf4j/slf4j-log4j12/slf4j-log4j12-1.6.1.jar" />
+        <fileset dir="${gwt.tools.lib}" includes="hibernate/validator/hibernate-validator-4.1.0.Final.jar" />
+        <fileset dir="${gwt.tools.lib}" includes="javax/validation/validation-api-1.0.0.GA.jar" />
+        <fileset dir="${gwt.tools.lib}" includes="javax/xml/bind/jaxb-api-2.1.jar" />
+        <fileset dir="${gwt.build.lib}" includes="requestfactory-test+src.jar" />
+      </classpath>
+    </java>
+  </target>
+
+</project>
diff --git a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/DynaTableRf.gwt.xml b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/DynaTableRf.gwt.xml
index 7f3706d..7cb8192 100644
--- a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/DynaTableRf.gwt.xml
+++ b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/DynaTableRf.gwt.xml
@@ -18,9 +18,9 @@
 
   <inherits name='com.google.gwt.user.User' />
   <inherits name='com.google.gwt.editor.Editor' />
-  <inherits name='com.google.gwt.requestfactory.RequestFactory' />
-  
   <inherits name='com.google.gwt.logging.Logging'/>
+  <inherits name='com.google.web.bindery.requestfactory.RequestFactory' />
+
   <set-property name="gwt.logging.enabled" value="TRUE"/> 
   <set-property name="gwt.logging.logLevel" value="SEVERE"/>
   <set-property name="gwt.logging.consoleHandler" value="ENABLED" />
diff --git a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/DynaTableRf.java b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/DynaTableRf.java
index 377e8b2..3b17927 100644
--- a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/DynaTableRf.java
+++ b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/DynaTableRf.java
@@ -20,8 +20,6 @@
 import com.google.gwt.core.client.GWT.UncaughtExceptionHandler;
 import com.google.gwt.event.shared.EventBus;
 import com.google.gwt.event.shared.SimpleEventBus;
-import com.google.gwt.requestfactory.client.RequestFactoryLogHandler;
-import com.google.gwt.requestfactory.shared.LoggingRequest;
 import com.google.gwt.sample.dynatablerf.client.widgets.DayFilterWidget;
 import com.google.gwt.sample.dynatablerf.client.widgets.FavoritesWidget;
 import com.google.gwt.sample.dynatablerf.client.widgets.SummaryWidget;
@@ -30,6 +28,8 @@
 import com.google.gwt.uibinder.client.UiField;
 import com.google.gwt.user.client.ui.RootLayoutPanel;
 import com.google.gwt.user.client.ui.Widget;
+import com.google.web.bindery.requestfactory.gwt.client.RequestFactoryLogHandler;
+import com.google.web.bindery.requestfactory.shared.LoggingRequest;
 
 import java.util.ArrayList;
 import java.util.logging.Level;
diff --git a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/FavoritesManager.java b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/FavoritesManager.java
index a2696aa..de4417e 100644
--- a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/FavoritesManager.java
+++ b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/FavoritesManager.java
@@ -18,14 +18,14 @@
 import com.google.gwt.event.shared.EventBus;
 import com.google.gwt.event.shared.HandlerRegistration;
 import com.google.gwt.event.shared.SimpleEventBus;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
-import com.google.gwt.requestfactory.shared.RequestFactory;
 import com.google.gwt.sample.dynatablerf.client.events.MarkFavoriteEvent;
 import com.google.gwt.sample.dynatablerf.shared.PersonProxy;
 import com.google.gwt.user.client.Cookies;
 import com.google.gwt.user.client.Window;
 import com.google.gwt.user.client.Window.ClosingEvent;
 import com.google.gwt.user.client.Window.ClosingHandler;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.RequestFactory;
 
 import java.util.Collections;
 import java.util.HashSet;
diff --git a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/PersonEditorWorkflow.java b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/PersonEditorWorkflow.java
index 51ad62c..6b9073e 100644
--- a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/PersonEditorWorkflow.java
+++ b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/PersonEditorWorkflow.java
@@ -22,11 +22,6 @@
 import com.google.gwt.event.dom.client.KeyUpHandler;
 import com.google.gwt.event.logical.shared.ValueChangeEvent;
 import com.google.gwt.event.shared.EventBus;
-import com.google.gwt.requestfactory.client.RequestFactoryEditorDriver;
-import com.google.gwt.requestfactory.shared.Receiver;
-import com.google.gwt.requestfactory.shared.Request;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.Violation;
 import com.google.gwt.sample.dynatablerf.client.events.EditPersonEvent;
 import com.google.gwt.sample.dynatablerf.client.widgets.MentorSelector;
 import com.google.gwt.sample.dynatablerf.client.widgets.PersonEditor;
@@ -41,6 +36,11 @@
 import com.google.gwt.user.client.ui.CheckBox;
 import com.google.gwt.user.client.ui.DialogBox;
 import com.google.gwt.user.client.ui.HTMLPanel;
+import com.google.web.bindery.requestfactory.gwt.client.RequestFactoryEditorDriver;
+import com.google.web.bindery.requestfactory.shared.Receiver;
+import com.google.web.bindery.requestfactory.shared.Request;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.Violation;
 
 import java.util.Set;
 
diff --git a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/events/EditPersonEvent.java b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/events/EditPersonEvent.java
index 6ef08bd..cf11e14 100644
--- a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/events/EditPersonEvent.java
+++ b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/events/EditPersonEvent.java
@@ -17,8 +17,8 @@
 
 import com.google.gwt.event.shared.EventHandler;
 import com.google.gwt.event.shared.GwtEvent;
-import com.google.gwt.requestfactory.shared.RequestContext;
 import com.google.gwt.sample.dynatablerf.shared.PersonProxy;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
 
 /**
  * Begin editing a person.
diff --git a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/events/MarkFavoriteEvent.java b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/events/MarkFavoriteEvent.java
index a63d1f0..c0e442d 100644
--- a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/events/MarkFavoriteEvent.java
+++ b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/events/MarkFavoriteEvent.java
@@ -17,8 +17,8 @@
 
 import com.google.gwt.event.shared.EventHandler;
 import com.google.gwt.event.shared.GwtEvent;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
 import com.google.gwt.sample.dynatablerf.shared.PersonProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
 
 /**
  * Used client-side to add entries to the favorites list.
diff --git a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/FavoritesWidget.java b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/FavoritesWidget.java
index cc4b598..f442235 100644
--- a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/FavoritesWidget.java
+++ b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/FavoritesWidget.java
@@ -20,10 +20,6 @@
 import com.google.gwt.editor.client.adapters.ListEditor;
 import com.google.gwt.event.shared.EventBus;
 import com.google.gwt.event.shared.HandlerRegistration;
-import com.google.gwt.requestfactory.client.RequestFactoryEditorDriver;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
-import com.google.gwt.requestfactory.shared.Receiver;
-import com.google.gwt.requestfactory.shared.RequestFactory;
 import com.google.gwt.resources.client.CssResource;
 import com.google.gwt.sample.dynatablerf.client.FavoritesManager;
 import com.google.gwt.sample.dynatablerf.client.events.MarkFavoriteEvent;
@@ -33,6 +29,10 @@
 import com.google.gwt.user.client.ui.Composite;
 import com.google.gwt.user.client.ui.FlowPanel;
 import com.google.gwt.user.client.ui.Widget;
+import com.google.web.bindery.requestfactory.gwt.client.RequestFactoryEditorDriver;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.Receiver;
+import com.google.web.bindery.requestfactory.shared.RequestFactory;
 
 import java.util.ArrayList;
 import java.util.Collections;
diff --git a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/MentorSelector.java b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/MentorSelector.java
index b48101f..8f99c84 100644
--- a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/MentorSelector.java
+++ b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/MentorSelector.java
@@ -19,7 +19,6 @@
 import com.google.gwt.editor.client.IsEditor;
 import com.google.gwt.editor.client.adapters.OptionalFieldEditor;
 import com.google.gwt.event.dom.client.ClickEvent;
-import com.google.gwt.requestfactory.shared.Receiver;
 import com.google.gwt.sample.dynatablerf.shared.DynaTableRequestFactory;
 import com.google.gwt.sample.dynatablerf.shared.PersonProxy;
 import com.google.gwt.uibinder.client.UiBinder;
@@ -28,6 +27,7 @@
 import com.google.gwt.user.client.ui.Button;
 import com.google.gwt.user.client.ui.Composite;
 import com.google.gwt.user.client.ui.Widget;
+import com.google.web.bindery.requestfactory.shared.Receiver;
 
 /**
  * This demonstrates how an editor can be constructed to handle optional fields.
diff --git a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/SummaryWidget.java b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/SummaryWidget.java
index 83796e8..889594c 100644
--- a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/SummaryWidget.java
+++ b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/SummaryWidget.java
@@ -23,10 +23,6 @@
 import com.google.gwt.core.client.Scheduler.ScheduledCommand;
 import com.google.gwt.event.dom.client.ClickEvent;
 import com.google.gwt.event.shared.EventBus;
-import com.google.gwt.requestfactory.shared.EntityProxyChange;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
-import com.google.gwt.requestfactory.shared.Receiver;
-import com.google.gwt.requestfactory.shared.WriteOperation;
 import com.google.gwt.resources.client.CssResource;
 import com.google.gwt.sample.dynatablerf.client.events.EditPersonEvent;
 import com.google.gwt.sample.dynatablerf.client.events.FilterChangeEvent;
@@ -50,6 +46,10 @@
 import com.google.gwt.view.client.RangeChangeEvent;
 import com.google.gwt.view.client.SelectionChangeEvent;
 import com.google.gwt.view.client.SingleSelectionModel;
+import com.google.web.bindery.requestfactory.shared.EntityProxyChange;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.Receiver;
+import com.google.web.bindery.requestfactory.shared.WriteOperation;
 
 import java.util.ArrayList;
 import java.util.Collections;
diff --git a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/TimeSlotListWidget.java b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/TimeSlotListWidget.java
index 1d098f7..41960ce 100644
--- a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/TimeSlotListWidget.java
+++ b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/TimeSlotListWidget.java
@@ -20,7 +20,6 @@
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.editor.client.EditorDelegate;
 import com.google.gwt.editor.client.ValueAwareEditor;
-import com.google.gwt.requestfactory.shared.Receiver;
 import com.google.gwt.sample.dynatablerf.client.widgets.SummaryWidget.TableResources;
 import com.google.gwt.sample.dynatablerf.shared.DynaTableRequestFactory;
 import com.google.gwt.sample.dynatablerf.shared.DynaTableRequestFactory.ScheduleRequest;
@@ -32,6 +31,7 @@
 import com.google.gwt.user.cellview.client.HasKeyboardSelectionPolicy.KeyboardSelectionPolicy;
 import com.google.gwt.user.client.ui.Composite;
 import com.google.gwt.user.client.ui.Widget;
+import com.google.web.bindery.requestfactory.shared.Receiver;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -72,6 +72,7 @@
         ScheduleRequest context = factory.scheduleRequest();
         context.createTimeSlot(day.ordinal(), hour * 60, hour * 60 + 50).fire(
             new Receiver<TimeSlotProxy>() {
+              @Override
               public void onSuccess(TimeSlotProxy slot) {
                 existingSlots.put(key, slot);
                 backing.add(slot);
diff --git a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/server/ScheduleLocator.java b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/server/ScheduleLocator.java
index 5b3c666..024152c 100644
--- a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/server/ScheduleLocator.java
+++ b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/server/ScheduleLocator.java
@@ -15,8 +15,8 @@
  */
 package com.google.gwt.sample.dynatablerf.server;
 
-import com.google.gwt.requestfactory.shared.Locator;
 import com.google.gwt.sample.dynatablerf.domain.Schedule;
+import com.google.web.bindery.requestfactory.shared.Locator;
 
 /**
  * This class serves as an example of implementing a Locator to allow
diff --git a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/server/ScheduleServiceLocator.java b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/server/ScheduleServiceLocator.java
index 92b82eb..bef32e0 100644
--- a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/server/ScheduleServiceLocator.java
+++ b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/server/ScheduleServiceLocator.java
@@ -15,7 +15,7 @@
  */
 package com.google.gwt.sample.dynatablerf.server;
 
-import com.google.gwt.requestfactory.shared.ServiceLocator;
+import com.google.web.bindery.requestfactory.shared.ServiceLocator;
 
 /**
  * This class provides an example of implementing a ServiceLocator to allow
diff --git a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/AddressProxy.java b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/AddressProxy.java
index 8e87ef6..6747497 100644
--- a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/AddressProxy.java
+++ b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/AddressProxy.java
@@ -15,9 +15,9 @@
  */
 package com.google.gwt.sample.dynatablerf.shared;
 
-import com.google.gwt.requestfactory.shared.ProxyFor;
-import com.google.gwt.requestfactory.shared.ValueProxy;
 import com.google.gwt.sample.dynatablerf.domain.Address;
+import com.google.web.bindery.requestfactory.shared.ProxyFor;
+import com.google.web.bindery.requestfactory.shared.ValueProxy;
 
 /**
  * Represents an Address in the client code.
diff --git a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/DynaTableRequestFactory.java b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/DynaTableRequestFactory.java
index 5e6c34d..01baafd 100644
--- a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/DynaTableRequestFactory.java
+++ b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/DynaTableRequestFactory.java
@@ -15,16 +15,16 @@
  */
 package com.google.gwt.sample.dynatablerf.shared;
 
-import com.google.gwt.requestfactory.shared.InstanceRequest;
-import com.google.gwt.requestfactory.shared.LoggingRequest;
-import com.google.gwt.requestfactory.shared.Request;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.RequestFactory;
-import com.google.gwt.requestfactory.shared.Service;
 import com.google.gwt.sample.dynatablerf.domain.Person;
 import com.google.gwt.sample.dynatablerf.server.ScheduleService;
 import com.google.gwt.sample.dynatablerf.server.ScheduleServiceLocator;
 import com.google.gwt.sample.dynatablerf.server.SchoolCalendarService;
+import com.google.web.bindery.requestfactory.shared.InstanceRequest;
+import com.google.web.bindery.requestfactory.shared.LoggingRequest;
+import com.google.web.bindery.requestfactory.shared.Request;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.RequestFactory;
+import com.google.web.bindery.requestfactory.shared.Service;
 
 import java.util.Arrays;
 import java.util.Collections;
diff --git a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/PersonProxy.java b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/PersonProxy.java
index ccec247..e3af864 100644
--- a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/PersonProxy.java
+++ b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/PersonProxy.java
@@ -15,10 +15,10 @@
  */
 package com.google.gwt.sample.dynatablerf.shared;
 
-import com.google.gwt.requestfactory.shared.EntityProxy;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
-import com.google.gwt.requestfactory.shared.ProxyFor;
 import com.google.gwt.sample.dynatablerf.domain.Person;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.ProxyFor;
 
 /**
  * Person DTO.
diff --git a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/ScheduleProxy.java b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/ScheduleProxy.java
index d7f4716..67b0174 100644
--- a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/ScheduleProxy.java
+++ b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/ScheduleProxy.java
@@ -15,10 +15,10 @@
  */
 package com.google.gwt.sample.dynatablerf.shared;
 
-import com.google.gwt.requestfactory.shared.EntityProxy;
-import com.google.gwt.requestfactory.shared.ProxyFor;
 import com.google.gwt.sample.dynatablerf.domain.Schedule;
 import com.google.gwt.sample.dynatablerf.server.ScheduleLocator;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.ProxyFor;
 
 import java.util.List;
 
diff --git a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/TimeSlotProxy.java b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/TimeSlotProxy.java
index ab2beec..74da039 100644
--- a/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/TimeSlotProxy.java
+++ b/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/TimeSlotProxy.java
@@ -15,9 +15,9 @@
  */
 package com.google.gwt.sample.dynatablerf.shared;
 
-import com.google.gwt.requestfactory.shared.ProxyFor;
-import com.google.gwt.requestfactory.shared.ValueProxy;
 import com.google.gwt.sample.dynatablerf.domain.TimeSlot;
+import com.google.web.bindery.requestfactory.shared.ProxyFor;
+import com.google.web.bindery.requestfactory.shared.ValueProxy;
 
 /**
  * TimeSlot DTO.
diff --git a/samples/dynatablerf/war/WEB-INF/web.xml b/samples/dynatablerf/war/WEB-INF/web.xml
index b3c0fdd..b3999cc 100644
--- a/samples/dynatablerf/war/WEB-INF/web.xml
+++ b/samples/dynatablerf/war/WEB-INF/web.xml
@@ -8,7 +8,7 @@
 
   <servlet>
     <servlet-name>requestFactoryServlet</servlet-name>
-    <servlet-class>com.google.gwt.requestfactory.server.RequestFactoryServlet</servlet-class>
+    <servlet-class>com.google.web.bindery.requestfactory.server.RequestFactoryServlet</servlet-class>
     <init-param>
       <param-name>symbolMapsDirectory</param-name>
       <!-- You'll need to compile with -extras and move the symbolMaps directory
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/ExpensesCommon.gwt.xml b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/ExpensesCommon.gwt.xml
index c4acdb2..9aba392 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/ExpensesCommon.gwt.xml
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/ExpensesCommon.gwt.xml
@@ -4,9 +4,9 @@
   <inherits name='com.google.gwt.activity.Activity' />
   <inherits name='com.google.gwt.mobile.Mobile'/>
   <inherits name='com.google.gwt.place.Place' />
-  <inherits name='com.google.gwt.requestfactory.RequestFactory'/>
   <inherits name='com.google.gwt.sample.gaerequest.GaeRequest'/>
   <inherits name='com.google.gwt.user.cellview.CellView'/>
+  <inherits name='com.google.web.bindery.requestfactory.RequestFactory'/>
 
   <source path='client'/>
   <source path='shared'/>
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpenseReportDetails.java b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpenseReportDetails.java
index d4c02c7..0fcb598 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpenseReportDetails.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpenseReportDetails.java
@@ -23,7 +23,6 @@
 import com.google.gwt.cell.client.NumberCell;
 import com.google.gwt.cell.client.TextCell;
 import com.google.gwt.cell.client.ValueUpdater;
-import com.google.gwt.cell.client.Cell.Context;
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.dom.client.Document;
 import com.google.gwt.dom.client.Element;
@@ -41,12 +40,9 @@
 import com.google.gwt.event.shared.EventBus;
 import com.google.gwt.i18n.client.DateTimeFormat;
 import com.google.gwt.i18n.client.NumberFormat;
-import com.google.gwt.requestfactory.shared.EntityProxyChange;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
-import com.google.gwt.requestfactory.shared.Receiver;
-import com.google.gwt.requestfactory.ui.client.EntityProxyKeyProvider;
 import com.google.gwt.resources.client.ImageResource;
 import com.google.gwt.safehtml.client.SafeHtmlTemplates;
+import com.google.gwt.safehtml.client.SafeHtmlTemplates.Template;
 import com.google.gwt.safehtml.shared.SafeHtml;
 import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
 import com.google.gwt.safehtml.shared.SafeHtmlUtils;
@@ -76,6 +72,10 @@
 import com.google.gwt.user.client.ui.VerticalPanel;
 import com.google.gwt.user.client.ui.Widget;
 import com.google.gwt.view.client.ListDataProvider;
+import com.google.web.bindery.requestfactory.gwt.ui.client.EntityProxyKeyProvider;
+import com.google.web.bindery.requestfactory.shared.EntityProxyChange;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.Receiver;
 
 import java.util.ArrayList;
 import java.util.Collections;
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpenseReportList.java b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpenseReportList.java
index e751bf0..462bc96 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpenseReportList.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpenseReportList.java
@@ -35,10 +35,6 @@
 import com.google.gwt.event.shared.EventBus;
 import com.google.gwt.i18n.client.DateTimeFormat;
 import com.google.gwt.regexp.shared.RegExp;
-import com.google.gwt.requestfactory.shared.EntityProxyChange;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
-import com.google.gwt.requestfactory.shared.Receiver;
-import com.google.gwt.requestfactory.ui.client.EntityProxyKeyProvider;
 import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
 import com.google.gwt.safehtml.shared.SafeHtmlUtils;
 import com.google.gwt.sample.expenses.client.place.ReportListPlace;
@@ -65,6 +61,10 @@
 import com.google.gwt.view.client.Range;
 import com.google.gwt.view.client.RangeChangeEvent;
 import com.google.gwt.view.client.SelectionChangeEvent;
+import com.google.web.bindery.requestfactory.gwt.ui.client.EntityProxyKeyProvider;
+import com.google.web.bindery.requestfactory.shared.EntityProxyChange;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.Receiver;
 
 import java.util.ArrayList;
 import java.util.Date;
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpenseTree.java b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpenseTree.java
index aecf270..c0dd528 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpenseTree.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpenseTree.java
@@ -19,13 +19,10 @@
 import com.google.gwt.cell.client.Cell;
 import com.google.gwt.cell.client.IconCellDecorator;
 import com.google.gwt.cell.client.TextCell;
-import com.google.gwt.cell.client.Cell.Context;
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.dom.client.Style.Overflow;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
-import com.google.gwt.requestfactory.shared.Receiver;
-import com.google.gwt.requestfactory.ui.client.EntityProxyKeyProvider;
 import com.google.gwt.safehtml.client.SafeHtmlTemplates;
+import com.google.gwt.safehtml.client.SafeHtmlTemplates.Template;
 import com.google.gwt.safehtml.shared.SafeHtml;
 import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
 import com.google.gwt.sample.expenses.client.style.Styles;
@@ -41,6 +38,9 @@
 import com.google.gwt.view.client.SelectionChangeEvent;
 import com.google.gwt.view.client.SingleSelectionModel;
 import com.google.gwt.view.client.TreeViewModel;
+import com.google.web.bindery.requestfactory.gwt.ui.client.EntityProxyKeyProvider;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.Receiver;
 
 import java.util.List;
 
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpensesApp.java b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpensesApp.java
index fe52102..7985c99 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpensesApp.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpensesApp.java
@@ -22,13 +22,13 @@
 import com.google.gwt.event.shared.EventBus;
 import com.google.gwt.place.shared.PlaceController;
 import com.google.gwt.place.shared.PlaceHistoryHandler;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
 import com.google.gwt.sample.expenses.client.place.ReportListPlace;
 import com.google.gwt.sample.expenses.client.place.ReportPlace;
 import com.google.gwt.sample.expenses.shared.EmployeeProxy;
 import com.google.gwt.sample.expenses.shared.ReportProxy;
 import com.google.gwt.sample.gaerequest.client.ReloadOnAuthenticationFailure;
 import com.google.gwt.user.client.ui.HasWidgets;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
 
 import java.util.logging.Level;
 import java.util.logging.Logger;
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpensesMobile.java b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpensesMobile.java
index 6f6362b..e189789 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpensesMobile.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpensesMobile.java
@@ -19,7 +19,6 @@
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.event.shared.EventBus;
 import com.google.gwt.event.shared.SimpleEventBus;
-import com.google.gwt.requestfactory.shared.Receiver;
 import com.google.gwt.sample.expenses.shared.EmployeeProxy;
 import com.google.gwt.sample.expenses.shared.ExpensesRequestFactory;
 import com.google.gwt.sample.gaerequest.client.GaeAuthRequestTransport;
@@ -28,6 +27,7 @@
 import com.google.gwt.user.client.Window;
 import com.google.gwt.user.client.ui.Label;
 import com.google.gwt.user.client.ui.RootPanel;
+import com.google.web.bindery.requestfactory.shared.Receiver;
 
 import java.util.logging.Level;
 import java.util.logging.Logger;
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpensesMobileShell.ui.xml b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpensesMobileShell.ui.xml
index f6727a5..db2b48e 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpensesMobileShell.ui.xml
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpensesMobileShell.ui.xml
@@ -2,9 +2,9 @@
 <ui:UiBinder
   xmlns:ui='urn:ui:com.google.gwt.uibinder'
   xmlns:m='urn:import:com.google.gwt.mobile.client'
-  xmlns:r='urn:import:com.google.gwt.requestfactory.ui.client'
   xmlns:g='urn:import:com.google.gwt.user.client.ui'
   xmlns:a='urn:import:com.google.gwt.sample.gaerequest.client'>
+  xmlns:r='urn:import:com.google.web.bindery.requestfactory.ui.client'
 
   <ui:image field='add'/>
   <ui:image field='refresh'/>
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpensesShell.ui.xml b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpensesShell.ui.xml
index 391f1ee..f713bfc 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpensesShell.ui.xml
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpensesShell.ui.xml
@@ -3,10 +3,9 @@
   xmlns:ui='urn:ui:com.google.gwt.uibinder'
   xmlns:g='urn:import:com.google.gwt.user.client.ui'
   xmlns:m='urn:import:com.google.gwt.mobile.client'
-  xmlns:r='urn:import:com.google.gwt.requestfactory.ui.client'
   xmlns:e='urn:import:com.google.gwt.sample.expenses.client'
   xmlns:a='urn:import:com.google.gwt.sample.gaerequest.client'>
-
+  xmlns:r='urn:import:com.google.web.bindery.requestfactory.ui.client'
 
   <ui:with field='styles' type='com.google.gwt.sample.expenses.client.style.Styles' />
 
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileExpenseDetails.java b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileExpenseDetails.java
index 971701a..9351f08 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileExpenseDetails.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileExpenseDetails.java
@@ -20,15 +20,15 @@
 import com.google.gwt.dom.client.Style.Display;
 import com.google.gwt.event.shared.EventBus;
 import com.google.gwt.i18n.client.DateTimeFormat;
-import com.google.gwt.requestfactory.shared.EntityProxyChange;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
-import com.google.gwt.requestfactory.shared.Receiver;
 import com.google.gwt.sample.expenses.shared.ExpenseProxy;
 import com.google.gwt.sample.expenses.shared.ExpensesRequestFactory;
 import com.google.gwt.uibinder.client.UiBinder;
 import com.google.gwt.uibinder.client.UiField;
 import com.google.gwt.user.client.ui.Composite;
 import com.google.gwt.user.client.ui.Widget;
+import com.google.web.bindery.requestfactory.shared.EntityProxyChange;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.Receiver;
 
 /**
  * TODO: doc.
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileExpenseEntry.java b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileExpenseEntry.java
index 88df8d7..db01a08 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileExpenseEntry.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileExpenseEntry.java
@@ -17,7 +17,6 @@
 
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.dom.client.Element;
-import com.google.gwt.requestfactory.shared.Receiver;
 import com.google.gwt.sample.expenses.shared.ExpenseProxy;
 import com.google.gwt.sample.expenses.shared.ExpenseRequest;
 import com.google.gwt.sample.expenses.shared.ExpensesRequestFactory;
@@ -28,6 +27,7 @@
 import com.google.gwt.user.client.ui.ListBox;
 import com.google.gwt.user.client.ui.TextBox;
 import com.google.gwt.user.client.ui.Widget;
+import com.google.web.bindery.requestfactory.shared.Receiver;
 
 import java.util.Date;
 
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileExpenseList.java b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileExpenseList.java
index db184f7..f087fcc 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileExpenseList.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileExpenseList.java
@@ -17,9 +17,8 @@
 
 import com.google.gwt.cell.client.AbstractCell;
 import com.google.gwt.core.client.GWT;
-import com.google.gwt.requestfactory.shared.Receiver;
-import com.google.gwt.requestfactory.ui.client.EntityProxyKeyProvider;
 import com.google.gwt.safehtml.client.SafeHtmlTemplates;
+import com.google.gwt.safehtml.client.SafeHtmlTemplates.Template;
 import com.google.gwt.safehtml.shared.SafeHtml;
 import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
 import com.google.gwt.sample.expenses.shared.ExpenseProxy;
@@ -34,6 +33,8 @@
 import com.google.gwt.view.client.HasData;
 import com.google.gwt.view.client.NoSelectionModel;
 import com.google.gwt.view.client.SelectionChangeEvent;
+import com.google.web.bindery.requestfactory.gwt.ui.client.EntityProxyKeyProvider;
+import com.google.web.bindery.requestfactory.shared.Receiver;
 
 import java.util.HashSet;
 import java.util.List;
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileReportEntry.java b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileReportEntry.java
index 0270578..5002503 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileReportEntry.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileReportEntry.java
@@ -17,7 +17,6 @@
 
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.dom.client.Element;
-import com.google.gwt.requestfactory.shared.Receiver;
 import com.google.gwt.sample.expenses.shared.EmployeeProxy;
 import com.google.gwt.sample.expenses.shared.ExpensesRequestFactory;
 import com.google.gwt.sample.expenses.shared.ReportProxy;
@@ -28,6 +27,7 @@
 import com.google.gwt.user.client.ui.ListBox;
 import com.google.gwt.user.client.ui.TextBox;
 import com.google.gwt.user.client.ui.Widget;
+import com.google.web.bindery.requestfactory.shared.Receiver;
 
 import java.util.Date;
 
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileReportList.java b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileReportList.java
index 80466d8..f2d3206 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileReportList.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileReportList.java
@@ -16,8 +16,6 @@
 package com.google.gwt.sample.expenses.client;
 
 import com.google.gwt.cell.client.AbstractCell;
-import com.google.gwt.requestfactory.shared.Receiver;
-import com.google.gwt.requestfactory.ui.client.EntityProxyKeyProvider;
 import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
 import com.google.gwt.sample.expenses.shared.EmployeeProxy;
 import com.google.gwt.sample.expenses.shared.ExpensesRequestFactory;
@@ -30,6 +28,8 @@
 import com.google.gwt.view.client.HasData;
 import com.google.gwt.view.client.NoSelectionModel;
 import com.google.gwt.view.client.SelectionChangeEvent;
+import com.google.web.bindery.requestfactory.gwt.ui.client.EntityProxyKeyProvider;
+import com.google.web.bindery.requestfactory.shared.Receiver;
 
 import java.util.List;
 
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ScaffoldMobileShell.ui.xml b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ScaffoldMobileShell.ui.xml
index 8039fbc..a0d61d1 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ScaffoldMobileShell.ui.xml
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ScaffoldMobileShell.ui.xml
@@ -1,8 +1,8 @@
 <!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
 <ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
   xmlns:g='urn:import:com.google.gwt.user.client.ui'
-  xmlns:r='urn:import:com.google.gwt.requestfactory.client'
-  xmlns:a='urn:import:com.google.gwt.app.client'>
+  xmlns:a='urn:import:com.google.gwt.app.client'
+  xmlns:r='urn:import:com.google.web.bindery.requestfactory.client'>
 
   <ui:style field='mobile' src='mobile.css'/>
 
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ScaffoldShell.ui.xml b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ScaffoldShell.ui.xml
index ed942a6..3c81467 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ScaffoldShell.ui.xml
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ScaffoldShell.ui.xml
@@ -1,8 +1,8 @@
 <!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
 <ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
   xmlns:g='urn:import:com.google.gwt.user.client.ui'
-  xmlns:r='urn:import:com.google.gwt.requestfactory.client'
-  xmlns:a='urn:import:com.google.gwt.app.client'>
+  xmlns:a='urn:import:com.google.gwt.app.client'
+  xmlns:r='urn:import:com.google.web.bindery.requestfactory.client'>
 
   <ui:image field='gwtLogo'></ui:image>
 
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/SlidingPanel.java b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/SlidingPanel.java
index 95a422c..0cc5a51 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/SlidingPanel.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/SlidingPanel.java
@@ -69,6 +69,7 @@
     widgets.clear();
   }
 
+  @Override
   public Widget getWidget() {
     return widgets.get(currentIndex);
   }
@@ -90,7 +91,7 @@
    * haven't seen it before. Nulls are ignored.
    */
   // Conflict btw deprecated Composite#setWidget and HasOneWidget#setWidget
-  @SuppressWarnings("deprecation")
+  @Override
   public void setWidget(Widget widget) {
     if (widget == null) {
       return;
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/place/ReportListPlace.java b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/place/ReportListPlace.java
index b260de2..5c2e634 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/place/ReportListPlace.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/place/ReportListPlace.java
@@ -19,9 +19,9 @@
 import com.google.gwt.place.shared.Place;
 import com.google.gwt.place.shared.PlaceTokenizer;
 import com.google.gwt.place.shared.Prefix;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
-import com.google.gwt.requestfactory.shared.RequestFactory;
 import com.google.gwt.sample.expenses.shared.EmployeeProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.RequestFactory;
 
 /**
  * A place in the app that shows a list of reports.
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/place/ReportPlace.java b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/place/ReportPlace.java
index 243d7f2..436f85d 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/place/ReportPlace.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/place/ReportPlace.java
@@ -20,9 +20,9 @@
 import com.google.gwt.place.shared.Place;
 import com.google.gwt.place.shared.PlaceTokenizer;
 import com.google.gwt.place.shared.Prefix;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
-import com.google.gwt.requestfactory.shared.RequestFactory;
 import com.google.gwt.sample.expenses.shared.ReportProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.RequestFactory;
 
 /**
  * A place in the app that shows a list of reports.
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/server/domain/Employee.java b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/server/domain/Employee.java
index de7b073..48aa327 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/server/domain/Employee.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/server/domain/Employee.java
@@ -90,7 +90,7 @@
       int maxResults) {
     EntityManager em = entityManager();
     try {
-      List resultList = em.createQuery("select o from Employee o").setFirstResult(
+      List<Employee> resultList = em.createQuery("select o from Employee o").setFirstResult(
           firstResult).setMaxResults(maxResults).getResultList();
       // force it to materialize
       resultList.size();
@@ -109,7 +109,7 @@
       query.setFirstResult(firstResult);
       query.setMaxResults(maxResults);
       query.setParameter("department", department);
-      List resultList = query.getResultList();
+      List<Employee> resultList = query.getResultList();
       // force it to materialize
       resultList.size();
       return resultList;
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/EmployeeProxy.java b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/EmployeeProxy.java
index 4a92b9c..c08b951 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/EmployeeProxy.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/EmployeeProxy.java
@@ -15,9 +15,9 @@
  */
 package com.google.gwt.sample.expenses.shared;
 
-import com.google.gwt.requestfactory.shared.EntityProxy;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
-import com.google.gwt.requestfactory.shared.ProxyFor;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.ProxyFor;
 
 /**
  * Employee DTO.
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/EmployeeRequest.java b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/EmployeeRequest.java
index ffc7b57..9de1dc3 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/EmployeeRequest.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/EmployeeRequest.java
@@ -15,11 +15,11 @@
  */
 package com.google.gwt.sample.expenses.shared;
 
-import com.google.gwt.requestfactory.shared.InstanceRequest;
-import com.google.gwt.requestfactory.shared.Request;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.Service;
 import com.google.gwt.sample.expenses.server.domain.Employee;
+import com.google.web.bindery.requestfactory.shared.InstanceRequest;
+import com.google.web.bindery.requestfactory.shared.Request;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.Service;
 
 import java.util.List;
 
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/ExpenseProxy.java b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/ExpenseProxy.java
index 1919f7a..659b3c0 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/ExpenseProxy.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/ExpenseProxy.java
@@ -15,9 +15,9 @@
  */
 package com.google.gwt.sample.expenses.shared;
 
-import com.google.gwt.requestfactory.shared.EntityProxy;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
-import com.google.gwt.requestfactory.shared.ProxyFor;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.ProxyFor;
 
 import java.util.Date;
 
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/ExpenseRequest.java b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/ExpenseRequest.java
index 9f61c3a..c8516fc 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/ExpenseRequest.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/ExpenseRequest.java
@@ -15,11 +15,11 @@
  */
 package com.google.gwt.sample.expenses.shared;
 
-import com.google.gwt.requestfactory.shared.InstanceRequest;
-import com.google.gwt.requestfactory.shared.Request;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.Service;
 import com.google.gwt.sample.expenses.server.domain.Expense;
+import com.google.web.bindery.requestfactory.shared.InstanceRequest;
+import com.google.web.bindery.requestfactory.shared.Request;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.Service;
 
 import java.util.List;
 
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/ExpensesEntityTypesProcessor.java b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/ExpensesEntityTypesProcessor.java
index 9ac89f4..9bcef8b 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/ExpensesEntityTypesProcessor.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/ExpensesEntityTypesProcessor.java
@@ -15,7 +15,7 @@
  */
 package com.google.gwt.sample.expenses.shared;
 
-import com.google.gwt.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
 
 import java.util.Collections;
 import java.util.HashSet;
@@ -110,9 +110,9 @@
    * {@link #getClass()} method of a proxy object, due to limitations of GWT's
    * metadata. It will only work with against class objects in the set returned
    * by {@link #getAll()}, or returned by
-   * {@link com.google.gwt.requestfactory.shared.RequestFactory#getClass(EntityProxy)}
+   * {@link com.google.web.bindery.requestfactory.shared.RequestFactory#getClass(EntityProxy)}
    * or
-   * {@link com.google.gwt.requestfactory.shared.RequestFactory#getClass(String)}
+   * {@link com.google.web.bindery.requestfactory.shared.RequestFactory#getClass(String)}
    * .
    * 
    * @param clazz the proxy type to resolve
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/ExpensesRequestFactory.java b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/ExpensesRequestFactory.java
index 53b56a0..8d06f67 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/ExpensesRequestFactory.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/ExpensesRequestFactory.java
@@ -15,8 +15,8 @@
  */
 package com.google.gwt.sample.expenses.shared;
 
-import com.google.gwt.requestfactory.shared.RequestFactory;
 import com.google.gwt.sample.gaerequest.shared.MakesGaeRequests;
+import com.google.web.bindery.requestfactory.shared.RequestFactory;
 
 /**
  * RequestFactory interface. Instances created via {@link com.google.gwt.core.client.GWT#create}
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/ReportProxy.java b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/ReportProxy.java
index 846a949..9425a6b 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/ReportProxy.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/ReportProxy.java
@@ -15,9 +15,9 @@
  */
 package com.google.gwt.sample.expenses.shared;
 
-import com.google.gwt.requestfactory.shared.EntityProxy;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
-import com.google.gwt.requestfactory.shared.ProxyFor;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.ProxyFor;
 
 import java.util.Date;
 
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/ReportRequest.java b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/ReportRequest.java
index 2cb6a73..7df2c0b 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/ReportRequest.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/expenses/shared/ReportRequest.java
@@ -15,11 +15,11 @@
  */
 package com.google.gwt.sample.expenses.shared;
 
-import com.google.gwt.requestfactory.shared.InstanceRequest;
-import com.google.gwt.requestfactory.shared.Request;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.Service;
 import com.google.gwt.sample.expenses.server.domain.Report;
+import com.google.web.bindery.requestfactory.shared.InstanceRequest;
+import com.google.web.bindery.requestfactory.shared.Request;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.Service;
 
 import java.util.List;
 
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/GaeRequest.gwt.xml b/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/GaeRequest.gwt.xml
index 4b46229..c7398e5 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/GaeRequest.gwt.xml
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/GaeRequest.gwt.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 0.0.999//EN" "http://google-web-toolkit.googlecode.com/svn/tags/0.0.999/distro-source/core/src/gwt-module.dtd">
 <module>
-  <inherits name='com.google.gwt.requestfactory.RequestFactory'/>
+  <inherits name='com.google.web.bindery.requestfactory.RequestFactory'/>
 
   <source path='client'/>
   <source path='shared'/>
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/client/GaeAuthRequestTransport.java b/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/client/GaeAuthRequestTransport.java
index 74b8dba..9d7e408 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/client/GaeAuthRequestTransport.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/client/GaeAuthRequestTransport.java
@@ -19,8 +19,9 @@
 import com.google.gwt.http.client.Request;
 import com.google.gwt.http.client.RequestCallback;
 import com.google.gwt.http.client.Response;
-import com.google.gwt.requestfactory.client.DefaultRequestTransport;
-import com.google.gwt.requestfactory.shared.ServerFailure;
+import com.google.web.bindery.requestfactory.gwt.client.DefaultRequestTransport;
+import com.google.web.bindery.requestfactory.shared.RequestTransport.TransportReceiver;
+import com.google.web.bindery.requestfactory.shared.ServerFailure;
 
 /**
  * Extends DefaultRequestTransport to handle the authentication failures
@@ -52,7 +53,7 @@
           if (loginUrl != null) {
             /*
              * Hand the receiver a non-fatal callback, so that
-             * com.google.gwt.requestfactory.shared.Receiver will not post a
+             * com.google.web.bindery.requestfactory.shared.Receiver will not post a
              * runtime exception.
              */
             receiver.onTransportFailure(new ServerFailure(
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/client/LoginWidget.java b/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/client/LoginWidget.java
index be5a9cf..abfc43f 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/client/LoginWidget.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/client/LoginWidget.java
@@ -19,7 +19,6 @@
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.dom.client.SpanElement;
 import com.google.gwt.event.dom.client.ClickEvent;
-import com.google.gwt.requestfactory.shared.Receiver;
 import com.google.gwt.sample.gaerequest.shared.GaeUser;
 import com.google.gwt.sample.gaerequest.shared.GaeUserServiceRequest;
 import com.google.gwt.sample.gaerequest.shared.MakesGaeRequests;
@@ -30,6 +29,7 @@
 import com.google.gwt.user.client.ui.Anchor;
 import com.google.gwt.user.client.ui.Composite;
 import com.google.gwt.user.client.ui.Widget;
+import com.google.web.bindery.requestfactory.shared.Receiver;
 
 /**
  * A simple widget which displays info about the user and a logout link. In real
@@ -62,6 +62,7 @@
     GaeUserServiceRequest request = requests.userServiceRequest();
 
     request.createLogoutURL(Location.getHref()).to(new Receiver<String>() {
+      @Override
       public void onSuccess(String response) {
         setLogoutUrl(response);
       }
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/server/UserServiceLocator.java b/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/server/UserServiceLocator.java
index 6181b17..e9706c7 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/server/UserServiceLocator.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/server/UserServiceLocator.java
@@ -18,7 +18,7 @@
 import com.google.appengine.api.users.User;
 import com.google.appengine.api.users.UserService;
 import com.google.appengine.api.users.UserServiceFactory;
-import com.google.gwt.requestfactory.shared.ServiceLocator;
+import com.google.web.bindery.requestfactory.shared.ServiceLocator;
 
 /**
  * Gives a RequestFactory system access to the Google AppEngine UserService.
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/shared/GaeUser.java b/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/shared/GaeUser.java
index 28895c3..7791b85 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/shared/GaeUser.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/shared/GaeUser.java
@@ -15,8 +15,8 @@
  */
 package com.google.gwt.sample.gaerequest.shared;
 
-import com.google.gwt.requestfactory.shared.ProxyForName;
-import com.google.gwt.requestfactory.shared.ValueProxy;
+import com.google.web.bindery.requestfactory.shared.ProxyForName;
+import com.google.web.bindery.requestfactory.shared.ValueProxy;
 
 /**
  * Client visible proxy of Google AppEngine User class.
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/shared/GaeUserServiceRequest.java b/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/shared/GaeUserServiceRequest.java
index f1217ab..7a1a298 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/shared/GaeUserServiceRequest.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/shared/GaeUserServiceRequest.java
@@ -15,9 +15,9 @@
  */
 package com.google.gwt.sample.gaerequest.shared;
 
-import com.google.gwt.requestfactory.shared.Request;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.ServiceName;
+import com.google.web.bindery.requestfactory.shared.Request;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.ServiceName;
 
 /**
  * Makes requests of the Google AppEngine UserService.
diff --git a/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/shared/MakesGaeRequests.java b/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/shared/MakesGaeRequests.java
index 63d0c9e..e966710 100644
--- a/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/shared/MakesGaeRequests.java
+++ b/samples/expenses/src/main/java/com/google/gwt/sample/gaerequest/shared/MakesGaeRequests.java
@@ -16,7 +16,7 @@
 package com.google.gwt.sample.gaerequest.shared;
 
 /**
- * Implemented by {@link com.google.gwt.requestfactory.shared.RequestFactory}s
+ * Implemented by {@link com.google.web.bindery.requestfactory.shared.RequestFactory}s
  * that vend AppEngine requests.
  */
 public interface MakesGaeRequests {
diff --git a/samples/expenses/src/main/webapp/WEB-INF/web.xml b/samples/expenses/src/main/webapp/WEB-INF/web.xml
index 86307e1..130c671 100644
--- a/samples/expenses/src/main/webapp/WEB-INF/web.xml
+++ b/samples/expenses/src/main/webapp/WEB-INF/web.xml
@@ -27,7 +27,7 @@
 
   <servlet>
     <servlet-name>requestFactoryServlet</servlet-name>
-    <servlet-class>com.google.gwt.requestfactory.server.RequestFactoryServlet</servlet-class>
+    <Servlet-class>com.google.web.bindery.requestfactory.server.RequestFactoryServlet</servlet-class>
   </servlet>
 
   <servlet-mapping>
diff --git a/tools/api-checker/config/gwt22_23userApi.conf b/tools/api-checker/config/gwt22_23userApi.conf
index 3c94955..b417a48 100644
--- a/tools/api-checker/config/gwt22_23userApi.conf
+++ b/tools/api-checker/config/gwt22_23userApi.conf
@@ -38,15 +38,11 @@
 :com/google/gwt/junit/client/GWTTestCase.java\
 :com/google/gwt/junit/client/impl/GWTRunner.java\
 :com/google/gwt/junit/remote/**\
+:com/google/gwt/requestfactory/**\
 :com/google/gwt/resources/client/impl/**\
 :com/google/gwt/resources/css/**\
 :com/google/gwt/resources/ext/**\
 :com/google/gwt/resources/rg/**\
-:com/google/gwt/requestfactory/client/impl/FindRequest.java\
-:com/google/gwt/requestfactory/shared/impl/MessageFactoryHolder.java\
-:com/google/gwt/requestfactory/shared/UserInformationProxy.java\
-:com/google/gwt/requestfactory/shared/UserInformationRequest.java\
-:com/google/gwt/requestfactory/ui/client/LoginWidget.java\
 :com/google/gwt/rpc/client/impl/ClientWriterFactory.java\
 :com/google/gwt/rpc/client/impl/EscapeUtil.java\
 :com/google/gwt/rpc/client/impl/RpcCallbackAdapter.java\
@@ -91,7 +87,6 @@
 :user/src/com/google/gwt/resources/css/**\
 :user/src/com/google/gwt/resources/ext/**\
 :user/src/com/google/gwt/resources/rg/**\
-:user/src/com/google/gwt/requestfactory/shared/impl/MessageFactoryHolder.java\
 :user/src/com/google/gwt/rpc/client/impl/ClientWriterFactory.java\
 :user/src/com/google/gwt/rpc/client/impl/EscapeUtil.java\
 :user/src/com/google/gwt/rpc/client/impl/RpcCallbackAdapter.java\
@@ -102,16 +97,17 @@
 :user/src/com/google/gwt/uibinder/elementparsers/**\
 :user/src/com/google/gwt/uibinder/testing/**\
 :user/src/com/google/gwt/util/**\
+:user/src/com/google/gwt/validation/**\
+:user/src/com/google/web/bindery/requestfactory/gwt/client/impl/**\
+:user/src/com/google/web/bindery/requestfactory/server/impl/**\
+:user/src/com/google/web/bindery/requestfactory/shared/impl/**\
+:user/src/com/google/web/bindery/requestfactory/vm/**\
 :user/src/javax/**\
 :user/src/org/**\
-:user/src/com/google/gwt/validation/**\
 
 ##############################################
 #excluded packages colon separated list
 excludedPackages com.google.gwt.editor.client.impl\
-:com.google.gwt.requestfactory.client.impl.messages\
-:com.google.gwt.requestfactory.client.impl\
-:com.google.gwt.requestfactory.shared.impl\
 :com.google.gwt.junit.client.impl\
 :com.google.gwt.benchmarks.client.impl\
 
diff --git a/user/src/com/google/gwt/autobean/server/impl/BeanMethod.java b/user/src/com/google/gwt/autobean/server/impl/BeanMethod.java
index 59e90ed..132393f 100644
--- a/user/src/com/google/gwt/autobean/server/impl/BeanMethod.java
+++ b/user/src/com/google/gwt/autobean/server/impl/BeanMethod.java
@@ -17,7 +17,6 @@
 
 import com.google.gwt.autobean.shared.AutoBean;
 
-import java.beans.Introspector;
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
 
@@ -62,7 +61,7 @@
       if (name.startsWith(IS_PREFIX)) {
         Class<?> returnType = method.getReturnType();
         if (Boolean.TYPE.equals(returnType) || Boolean.class.equals(returnType)) {
-          return Introspector.decapitalize(name.substring(2));
+          return decapitalize(name.substring(2));
         }
       }
       return super.inferName(method);
@@ -205,8 +204,26 @@
     return null;
   }
 
+  /**
+   * Private equivalent of Introspector.decapitalize(String)
+   * since java.beans.Introspector is not available in Android 2.2.
+   */
+  private static String decapitalize(String name) {
+    if (name == null) {
+      return null;
+    }
+    int length = name.length();
+    if (length == 0 || (length > 1 && Character.isUpperCase(name.charAt(1)))) {
+      return name;
+    }
+    StringBuilder sb = new StringBuilder(length);
+    sb.append(Character.toLowerCase(name.charAt(0)));
+    sb.append(name.substring(1));
+    return sb.toString();
+  }
+
   public String inferName(Method method) {
-    return Introspector.decapitalize(method.getName().substring(3));
+    return decapitalize(method.getName().substring(3));
   }
 
   /**
@@ -226,4 +243,4 @@
    * Determine if the method maches the given type.
    */
   abstract boolean matches(SimpleBeanHandler<?> handler, Method method);
-}
\ No newline at end of file
+}
diff --git a/user/src/com/google/gwt/autobean/server/impl/JsonSplittable.java b/user/src/com/google/gwt/autobean/server/impl/JsonSplittable.java
index 6dd80e3..51e7902 100644
--- a/user/src/com/google/gwt/autobean/server/impl/JsonSplittable.java
+++ b/user/src/com/google/gwt/autobean/server/impl/JsonSplittable.java
@@ -24,6 +24,7 @@
 
 import java.util.Arrays;
 import java.util.Collections;
+import java.util.Iterator;
 import java.util.List;
 
 /**
@@ -60,6 +61,24 @@
     }
   }
 
+  /**
+   * Private equivalent of org.json.JSONObject.getNames(JSONObject)
+   * since that method is not available in Android 2.2.
+   */
+  private static String[] getNames(JSONObject json) {
+    int length = json.length();
+    if (length == 0) {
+      return null;
+    }
+    String[] names = new String[length];
+    Iterator<?> i = json.keys();
+    int j = 0;
+    while (i.hasNext()) {
+      names[j++] = (String) i.next();
+    }
+    return names;
+  }
+
   private final JSONArray array;
   private final JSONObject obj;
   private final String string;
@@ -116,7 +135,7 @@
   }
 
   public List<String> getPropertyKeys() {
-    String[] names = JSONObject.getNames(obj);
+    String[] names = getNames(obj);
     if (names == null) {
       return Collections.emptyList();
     } else {
@@ -173,4 +192,4 @@
     }
     return new JsonSplittable(object.toString());
   }
-}
\ No newline at end of file
+}
diff --git a/user/src/com/google/gwt/editor/client/EditorDriver.java b/user/src/com/google/gwt/editor/client/EditorDriver.java
index 97dda76..414c8e2 100644
--- a/user/src/com/google/gwt/editor/client/EditorDriver.java
+++ b/user/src/com/google/gwt/editor/client/EditorDriver.java
@@ -28,7 +28,7 @@
  * 
  * @param <T> the type of data returned from {@link #flush()}
  * @see com.google.gwt.editor.client.SimpleBeanEditorDriver
- * @see com.google.gwt.requestfactory.client.RequestFactoryEditorDriver
+ * @see com.google.web.bindery.requestfactory.gwt.client.RequestFactoryEditorDriver
  */
 public interface EditorDriver<T> {
   /**
diff --git a/user/src/com/google/gwt/i18n/server/impl/ReflectionUtils.java b/user/src/com/google/gwt/i18n/server/impl/ReflectionUtils.java
index 77114e2..68c1675 100644
--- a/user/src/com/google/gwt/i18n/server/impl/ReflectionUtils.java
+++ b/user/src/com/google/gwt/i18n/server/impl/ReflectionUtils.java
@@ -41,7 +41,7 @@
       if (superClass != null) {
         workQueue.addLast(superClass);
       }
-      workQueue.addAll(Arrays.asList(clazz.getInterfaces()));
+      workQueue.addAll(Arrays.asList((Class<?>[]) clazz.getInterfaces()));
     }
     return null;
   }
diff --git a/user/src/com/google/gwt/requestfactory/server/testing/package-info.java b/user/src/com/google/gwt/requestfactory/server/testing/package-info.java
deleted file mode 100644
index 23f9f88..0000000
--- a/user/src/com/google/gwt/requestfactory/server/testing/package-info.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright 2010 Google Inc.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-/**
- * Classes used for testing the request factory service.
- *
- * @since GWT 2.1.1
- */
-@com.google.gwt.util.PreventSpuriousRebuilds
-package com.google.gwt.requestfactory.server.testing;
diff --git a/user/src/com/google/gwt/requestfactory/RequestFactory.gwt.xml b/user/src/com/google/web/bindery/requestfactory/RequestFactory.gwt.xml
similarity index 76%
rename from user/src/com/google/gwt/requestfactory/RequestFactory.gwt.xml
rename to user/src/com/google/web/bindery/requestfactory/RequestFactory.gwt.xml
index c942293..6c888c7 100644
--- a/user/src/com/google/gwt/requestfactory/RequestFactory.gwt.xml
+++ b/user/src/com/google/web/bindery/requestfactory/RequestFactory.gwt.xml
@@ -27,11 +27,11 @@
   <source path="ui/client"/>
   <super-source path="super" />
   <generate-with
-    class="com.google.gwt.requestfactory.rebind.RequestFactoryEditorDriverGenerator">
+    class="com.google.web.bindery.requestfactory.gwt.rebind.RequestFactoryEditorDriverGenerator">
     <when-type-assignable
-      class="com.google.gwt.requestfactory.client.RequestFactoryEditorDriver" />
+      class="com.google.web.bindery.requestfactory.gwt.client.RequestFactoryEditorDriver" />
   </generate-with>
-  <generate-with class="com.google.gwt.requestfactory.rebind.RequestFactoryGenerator">
-    <when-type-assignable class='com.google.gwt.requestfactory.shared.RequestFactory'/>
+  <generate-with class="com.google.web.bindery.requestfactory.gwt.rebind.RequestFactoryGenerator">
+    <when-type-assignable class='com.google.web.bindery.requestfactory.shared.RequestFactory'/>
   </generate-with>
 </module>
diff --git a/user/src/com/google/gwt/requestfactory/client/DefaultRequestTransport.java b/user/src/com/google/web/bindery/requestfactory/gwt/client/DefaultRequestTransport.java
similarity index 90%
rename from user/src/com/google/gwt/requestfactory/client/DefaultRequestTransport.java
rename to user/src/com/google/web/bindery/requestfactory/gwt/client/DefaultRequestTransport.java
index 259fa04..12203a2 100644
--- a/user/src/com/google/gwt/requestfactory/client/DefaultRequestTransport.java
+++ b/user/src/com/google/web/bindery/requestfactory/gwt/client/DefaultRequestTransport.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.client;
+package com.google.web.bindery.requestfactory.gwt.client;
 
 import static com.google.gwt.user.client.rpc.RpcRequestBuilder.STRONG_NAME_HEADER;
 
@@ -23,10 +23,10 @@
 import com.google.gwt.http.client.RequestCallback;
 import com.google.gwt.http.client.RequestException;
 import com.google.gwt.http.client.Response;
-import com.google.gwt.requestfactory.shared.RequestFactory;
-import com.google.gwt.requestfactory.shared.RequestTransport;
-import com.google.gwt.requestfactory.shared.ServerFailure;
 import com.google.gwt.user.client.Window.Location;
+import com.google.web.bindery.requestfactory.shared.RequestFactory;
+import com.google.web.bindery.requestfactory.shared.RequestTransport;
+import com.google.web.bindery.requestfactory.shared.ServerFailure;
 
 import java.util.logging.Level;
 import java.util.logging.Logger;
@@ -114,10 +114,10 @@
 
   /**
    * Creates a RequestCallback that maps the HTTP response onto the
-   * {@link com.google.gwt.requestfactory.shared.RequestTransport.TransportReceiver
+   * {@link com.google.web.bindery.requestfactory.shared.RequestTransport.TransportReceiver
    * TransportReceiver} interface.
    * 
-   * @param receiver a {@link com.google.gwt.requestfactory.shared.RequestTransport.TransportReceiver TransportReceiver}
+   * @param receiver a {@link com.google.web.bindery.requestfactory.shared.RequestTransport.TransportReceiver TransportReceiver}
    * @return a {@link RequestCallback} instance
    */
   protected RequestCallback createRequestCallback(
diff --git a/user/src/com/google/gwt/requestfactory/client/HasRequestContext.java b/user/src/com/google/web/bindery/requestfactory/gwt/client/HasRequestContext.java
similarity index 91%
rename from user/src/com/google/gwt/requestfactory/client/HasRequestContext.java
rename to user/src/com/google/web/bindery/requestfactory/gwt/client/HasRequestContext.java
index ceab7e5..6ce2413 100644
--- a/user/src/com/google/gwt/requestfactory/client/HasRequestContext.java
+++ b/user/src/com/google/web/bindery/requestfactory/gwt/client/HasRequestContext.java
@@ -13,10 +13,10 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.client;
+package com.google.web.bindery.requestfactory.gwt.client;
 
 import com.google.gwt.editor.client.Editor;
-import com.google.gwt.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
 
 /**
  * Editors used with {@link RequestFactoryEditorDriver} that implement this
diff --git a/user/src/com/google/gwt/requestfactory/client/RequestFactoryEditorDriver.java b/user/src/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryEditorDriver.java
similarity index 91%
rename from user/src/com/google/gwt/requestfactory/client/RequestFactoryEditorDriver.java
rename to user/src/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryEditorDriver.java
index 72e4bf5..4b25470 100644
--- a/user/src/com/google/gwt/requestfactory/client/RequestFactoryEditorDriver.java
+++ b/user/src/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryEditorDriver.java
@@ -13,14 +13,14 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.client;
+package com.google.web.bindery.requestfactory.gwt.client;
 
 import com.google.gwt.editor.client.Editor;
 import com.google.gwt.editor.client.EditorDriver;
 import com.google.gwt.event.shared.EventBus;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.RequestFactory;
-import com.google.gwt.requestfactory.shared.Violation;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.RequestFactory;
+import com.google.web.bindery.requestfactory.shared.Violation;
 
 /**
  * The interface that links RequestFactory and the Editor framework together.
@@ -44,7 +44,8 @@
  * @param <P> the type of Proxy being edited
  * @param <E> the type of Editor that will edit the Record
  * @see HasRequestContext
- * @see com.google.gwt.requestfactory.client.testing.MockRequestFactoryEditorDriver MockRequestFactoryEditorDriver
+ * @see com.google.web.bindery.requestfactory.gwt.client.testing.MockRequestFactoryEditorDriver
+ *      MockRequestFactoryEditorDriver
  */
 public interface RequestFactoryEditorDriver<P, E extends Editor<? super P>>
     extends EditorDriver<RequestContext> {
diff --git a/user/src/com/google/gwt/requestfactory/client/RequestFactoryLogHandler.java b/user/src/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryLogHandler.java
similarity index 92%
rename from user/src/com/google/gwt/requestfactory/client/RequestFactoryLogHandler.java
rename to user/src/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryLogHandler.java
index d3f0b4f..47d67a8 100644
--- a/user/src/com/google/gwt/requestfactory/client/RequestFactoryLogHandler.java
+++ b/user/src/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryLogHandler.java
@@ -14,12 +14,12 @@
  * the License.
  */
 
-package com.google.gwt.requestfactory.client;
+package com.google.web.bindery.requestfactory.gwt.client;
 
 import com.google.gwt.logging.client.JsonLogRecordClientUtil;
 import com.google.gwt.logging.client.RemoteLogHandlerBase;
-import com.google.gwt.requestfactory.shared.LoggingRequest;
-import com.google.gwt.requestfactory.shared.Receiver;
+import com.google.web.bindery.requestfactory.shared.LoggingRequest;
+import com.google.web.bindery.requestfactory.shared.Receiver;
 
 import java.util.List;
 import java.util.logging.Level;
@@ -29,8 +29,8 @@
  * A Handler that does remote logging for applications using RequestFactory.
  */
 public class RequestFactoryLogHandler extends RemoteLogHandlerBase {
-  
-  /** 
+
+  /**
    * Provides a logging request.
    */
   public static interface LoggingRequestProvider {
@@ -41,9 +41,9 @@
      */
     LoggingRequest getLoggingRequest();
   }
-  
+
   private LoggingRequestProvider requestProvider;
-  
+
   /**
    * Since records from this handler go accross the wire, it should only be
    * used for important messages, and it's Level will often be higher than the
@@ -52,7 +52,7 @@
    * name of the logger(s) which will be used to log acknowledgements of
    * activity going accross the wire. If we did not exclude these loggers, an
    * infinite loop would occur.
-   * 
+   *
    * @param requestProvider a {@link LoggingRequestProvider} instance
    * @param level a logging {@link Level}
    * @param ignoredLoggerNames a List of Strings
diff --git a/user/src/com/google/gwt/requestfactory/client/impl/AbstractClientRequestFactory.java b/user/src/com/google/web/bindery/requestfactory/gwt/client/impl/AbstractClientRequestFactory.java
similarity index 80%
rename from user/src/com/google/gwt/requestfactory/client/impl/AbstractClientRequestFactory.java
rename to user/src/com/google/web/bindery/requestfactory/gwt/client/impl/AbstractClientRequestFactory.java
index c38fba9..15267b7 100644
--- a/user/src/com/google/gwt/requestfactory/client/impl/AbstractClientRequestFactory.java
+++ b/user/src/com/google/web/bindery/requestfactory/gwt/client/impl/AbstractClientRequestFactory.java
@@ -13,11 +13,11 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.client.impl;
+package com.google.web.bindery.requestfactory.gwt.client.impl;
 
 import com.google.gwt.event.shared.EventBus;
-import com.google.gwt.requestfactory.client.DefaultRequestTransport;
-import com.google.gwt.requestfactory.shared.impl.AbstractRequestFactory;
+import com.google.web.bindery.requestfactory.gwt.client.DefaultRequestTransport;
+import com.google.web.bindery.requestfactory.shared.impl.AbstractRequestFactory;
 
 /**
  * A RequestFactory that uses a {@link DefaultRequestTransport} by default.
diff --git a/user/src/com/google/gwt/requestfactory/client/impl/AbstractRequestFactoryEditorDriver.java b/user/src/com/google/web/bindery/requestfactory/gwt/client/impl/AbstractRequestFactoryEditorDriver.java
similarity index 90%
rename from user/src/com/google/gwt/requestfactory/client/impl/AbstractRequestFactoryEditorDriver.java
rename to user/src/com/google/web/bindery/requestfactory/gwt/client/impl/AbstractRequestFactoryEditorDriver.java
index 3a44c48..a4c10dd 100644
--- a/user/src/com/google/gwt/requestfactory/client/impl/AbstractRequestFactoryEditorDriver.java
+++ b/user/src/com/google/web/bindery/requestfactory/gwt/client/impl/AbstractRequestFactoryEditorDriver.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.client.impl;
+package com.google.web.bindery.requestfactory.gwt.client.impl;
 
 import com.google.gwt.autobean.shared.AutoBean;
 import com.google.gwt.autobean.shared.AutoBeanUtils;
@@ -26,14 +26,14 @@
 import com.google.gwt.editor.client.impl.DelegateMap.KeyMethod;
 import com.google.gwt.editor.client.impl.SimpleViolation;
 import com.google.gwt.event.shared.EventBus;
-import com.google.gwt.requestfactory.client.HasRequestContext;
-import com.google.gwt.requestfactory.client.RequestFactoryEditorDriver;
-import com.google.gwt.requestfactory.shared.EntityProxy;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.RequestFactory;
-import com.google.gwt.requestfactory.shared.ValueProxy;
-import com.google.gwt.requestfactory.shared.Violation;
-import com.google.gwt.requestfactory.shared.impl.Constants;
+import com.google.web.bindery.requestfactory.gwt.client.HasRequestContext;
+import com.google.web.bindery.requestfactory.gwt.client.RequestFactoryEditorDriver;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.RequestFactory;
+import com.google.web.bindery.requestfactory.shared.ValueProxy;
+import com.google.web.bindery.requestfactory.shared.Violation;
+import com.google.web.bindery.requestfactory.shared.impl.Constants;
 
 import java.util.Iterator;
 import java.util.List;
@@ -54,7 +54,7 @@
     private final Violation v;
 
     /**
-     * @param source
+     * @param v
      */
     private SimpleViolationAdapter(Violation v) {
       this.v = v;
@@ -169,7 +169,7 @@
           delegate.setRequestContext(saveRequest);
         }
         Editor<T> editor = ctx.getEditor();
-        if (editor instanceof HasRequestContext) {
+        if (editor instanceof HasRequestContext<?>) {
           ((HasRequestContext<T>) editor).setRequestContext(saveRequest);
         }
       }
diff --git a/user/src/com/google/gwt/requestfactory/client/impl/PathCollector.java b/user/src/com/google/web/bindery/requestfactory/gwt/client/impl/PathCollector.java
similarity index 92%
rename from user/src/com/google/gwt/requestfactory/client/impl/PathCollector.java
rename to user/src/com/google/web/bindery/requestfactory/gwt/client/impl/PathCollector.java
index 0b71f8c..e14d3b2 100644
--- a/user/src/com/google/gwt/requestfactory/client/impl/PathCollector.java
+++ b/user/src/com/google/web/bindery/requestfactory/gwt/client/impl/PathCollector.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.client.impl;
+package com.google.web.bindery.requestfactory.gwt.client.impl;
 
 import com.google.gwt.autobean.shared.ValueCodex;
 import com.google.gwt.editor.client.EditorContext;
@@ -26,8 +26,7 @@
 
 /**
  * Collects all non-value-type paths in an editor hierarchy for use with
- * {@link com.google.gwt.requestfactory.client.RequestFactoryEditorDriver#getPaths()}
- * .
+ * {@link com.google.web.bindery.requestfactory.gwt.client.RequestFactoryEditorDriver#getPaths()}.
  */
 class PathCollector extends EditorVisitor {
   /**
diff --git a/user/src/com/google/gwt/requestfactory/client/impl/RequestFactoryEditorDelegate.java b/user/src/com/google/web/bindery/requestfactory/gwt/client/impl/RequestFactoryEditorDelegate.java
similarity index 86%
rename from user/src/com/google/gwt/requestfactory/client/impl/RequestFactoryEditorDelegate.java
rename to user/src/com/google/web/bindery/requestfactory/gwt/client/impl/RequestFactoryEditorDelegate.java
index bc40e1b..7b8b3af 100644
--- a/user/src/com/google/gwt/requestfactory/client/impl/RequestFactoryEditorDelegate.java
+++ b/user/src/com/google/web/bindery/requestfactory/gwt/client/impl/RequestFactoryEditorDelegate.java
@@ -13,22 +13,22 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.client.impl;
+package com.google.web.bindery.requestfactory.gwt.client.impl;
 
 import com.google.gwt.editor.client.Editor;
 import com.google.gwt.editor.client.impl.AbstractEditorDelegate;
 import com.google.gwt.editor.client.impl.Refresher;
 import com.google.gwt.event.shared.EventBus;
 import com.google.gwt.event.shared.HandlerRegistration;
-import com.google.gwt.requestfactory.shared.BaseProxy;
-import com.google.gwt.requestfactory.shared.EntityProxy;
-import com.google.gwt.requestfactory.shared.EntityProxyChange;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
-import com.google.gwt.requestfactory.shared.Receiver;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.RequestFactory;
-import com.google.gwt.requestfactory.shared.WriteOperation;
-import com.google.gwt.requestfactory.shared.impl.AbstractRequestContext;
+import com.google.web.bindery.requestfactory.shared.BaseProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxyChange;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.Receiver;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.RequestFactory;
+import com.google.web.bindery.requestfactory.shared.WriteOperation;
+import com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext;
 
 import java.util.List;
 
diff --git a/user/src/com/google/gwt/requestfactory/client/package-info.java b/user/src/com/google/web/bindery/requestfactory/gwt/client/package-info.java
similarity index 85%
rename from user/src/com/google/gwt/requestfactory/client/package-info.java
rename to user/src/com/google/web/bindery/requestfactory/gwt/client/package-info.java
index 4ca199c..6413a73 100644
--- a/user/src/com/google/gwt/requestfactory/client/package-info.java
+++ b/user/src/com/google/web/bindery/requestfactory/gwt/client/package-info.java
@@ -15,9 +15,9 @@
  */
 
 /**
- * A package for manging client-server requests.
+ * A package for managing client-server requests.
  *
  * @since GWT 2.1
  */
 @com.google.gwt.util.PreventSpuriousRebuilds
-package com.google.gwt.requestfactory.client;
+package com.google.web.bindery.requestfactory.gwt.client;
diff --git a/user/src/com/google/gwt/requestfactory/client/testing/MockRequestFactoryEditorDriver.java b/user/src/com/google/web/bindery/requestfactory/gwt/client/testing/MockRequestFactoryEditorDriver.java
similarity index 91%
rename from user/src/com/google/gwt/requestfactory/client/testing/MockRequestFactoryEditorDriver.java
rename to user/src/com/google/web/bindery/requestfactory/gwt/client/testing/MockRequestFactoryEditorDriver.java
index f0e4d89..98da89c 100644
--- a/user/src/com/google/gwt/requestfactory/client/testing/MockRequestFactoryEditorDriver.java
+++ b/user/src/com/google/web/bindery/requestfactory/gwt/client/testing/MockRequestFactoryEditorDriver.java
@@ -13,16 +13,16 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.client.testing;
+package com.google.web.bindery.requestfactory.gwt.client.testing;
 
 import com.google.gwt.editor.client.Editor;
 import com.google.gwt.editor.client.EditorError;
 import com.google.gwt.editor.client.EditorVisitor;
 import com.google.gwt.event.shared.EventBus;
-import com.google.gwt.requestfactory.client.RequestFactoryEditorDriver;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.RequestFactory;
-import com.google.gwt.requestfactory.shared.Violation;
+import com.google.web.bindery.requestfactory.gwt.client.RequestFactoryEditorDriver;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.RequestFactory;
+import com.google.web.bindery.requestfactory.shared.Violation;
 
 import java.util.Collections;
 import java.util.List;
diff --git a/user/src/com/google/gwt/requestfactory/client/testing/package-info.java b/user/src/com/google/web/bindery/requestfactory/gwt/client/testing/package-info.java
similarity index 91%
rename from user/src/com/google/gwt/requestfactory/client/testing/package-info.java
rename to user/src/com/google/web/bindery/requestfactory/gwt/client/testing/package-info.java
index eaa68a7..75070ee 100644
--- a/user/src/com/google/gwt/requestfactory/client/testing/package-info.java
+++ b/user/src/com/google/web/bindery/requestfactory/gwt/client/testing/package-info.java
@@ -20,4 +20,4 @@
  * @since GWT 2.1
  */
 @com.google.gwt.util.PreventSpuriousRebuilds
-package com.google.gwt.requestfactory.client.testing;
+package com.google.web.bindery.requestfactory.gwt.client.testing;
diff --git a/user/src/com/google/gwt/requestfactory/rebind/RequestFactoryEditorDriverGenerator.java b/user/src/com/google/web/bindery/requestfactory/gwt/rebind/RequestFactoryEditorDriverGenerator.java
similarity index 84%
rename from user/src/com/google/gwt/requestfactory/rebind/RequestFactoryEditorDriverGenerator.java
rename to user/src/com/google/web/bindery/requestfactory/gwt/rebind/RequestFactoryEditorDriverGenerator.java
index 9926e0d..347c576 100644
--- a/user/src/com/google/gwt/requestfactory/rebind/RequestFactoryEditorDriverGenerator.java
+++ b/user/src/com/google/web/bindery/requestfactory/gwt/rebind/RequestFactoryEditorDriverGenerator.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.rebind;
+package com.google.web.bindery.requestfactory.gwt.rebind;
 
 import com.google.gwt.core.ext.GeneratorContext;
 import com.google.gwt.core.ext.TreeLogger;
@@ -21,10 +21,10 @@
 import com.google.gwt.core.ext.typeinfo.JClassType;
 import com.google.gwt.editor.rebind.AbstractEditorDriverGenerator;
 import com.google.gwt.editor.rebind.model.EditorData;
-import com.google.gwt.requestfactory.client.RequestFactoryEditorDriver;
-import com.google.gwt.requestfactory.client.impl.AbstractRequestFactoryEditorDriver;
-import com.google.gwt.requestfactory.client.impl.RequestFactoryEditorDelegate;
-import com.google.gwt.requestfactory.shared.BaseProxy;
+import com.google.web.bindery.requestfactory.gwt.client.RequestFactoryEditorDriver;
+import com.google.web.bindery.requestfactory.gwt.client.impl.AbstractRequestFactoryEditorDriver;
+import com.google.web.bindery.requestfactory.gwt.client.impl.RequestFactoryEditorDelegate;
+import com.google.web.bindery.requestfactory.shared.BaseProxy;
 
 /**
  * Generates implementations of RFEDs.
diff --git a/user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java b/user/src/com/google/web/bindery/requestfactory/gwt/rebind/RequestFactoryGenerator.java
similarity index 91%
rename from user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java
rename to user/src/com/google/web/bindery/requestfactory/gwt/rebind/RequestFactoryGenerator.java
index 5c1d109..834b5c0 100644
--- a/user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java
+++ b/user/src/com/google/web/bindery/requestfactory/gwt/rebind/RequestFactoryGenerator.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.rebind;
+package com.google.web.bindery.requestfactory.gwt.rebind;
 
 import com.google.gwt.autobean.rebind.model.JBeanMethod;
 import com.google.gwt.autobean.shared.AutoBean;
@@ -36,26 +36,26 @@
 import com.google.gwt.core.ext.typeinfo.JTypeParameter;
 import com.google.gwt.core.ext.typeinfo.TypeOracle;
 import com.google.gwt.editor.rebind.model.ModelUtils;
-import com.google.gwt.requestfactory.client.impl.AbstractClientRequestFactory;
-import com.google.gwt.requestfactory.rebind.model.AcceptsModelVisitor;
-import com.google.gwt.requestfactory.rebind.model.ContextMethod;
-import com.google.gwt.requestfactory.rebind.model.EntityProxyModel;
-import com.google.gwt.requestfactory.rebind.model.EntityProxyModel.Type;
-import com.google.gwt.requestfactory.rebind.model.ModelVisitor;
-import com.google.gwt.requestfactory.rebind.model.RequestFactoryModel;
-import com.google.gwt.requestfactory.rebind.model.RequestMethod;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
-import com.google.gwt.requestfactory.shared.JsonRpcContent;
-import com.google.gwt.requestfactory.shared.impl.AbstractRequest;
-import com.google.gwt.requestfactory.shared.impl.AbstractRequestContext;
-import com.google.gwt.requestfactory.shared.impl.AbstractRequestContext.Dialect;
-import com.google.gwt.requestfactory.shared.impl.AbstractRequestFactory;
-import com.google.gwt.requestfactory.shared.impl.BaseProxyCategory;
-import com.google.gwt.requestfactory.shared.impl.EntityProxyCategory;
-import com.google.gwt.requestfactory.shared.impl.RequestData;
-import com.google.gwt.requestfactory.shared.impl.ValueProxyCategory;
 import com.google.gwt.user.rebind.ClassSourceFileComposerFactory;
 import com.google.gwt.user.rebind.SourceWriter;
+import com.google.web.bindery.requestfactory.gwt.client.impl.AbstractClientRequestFactory;
+import com.google.web.bindery.requestfactory.gwt.rebind.model.AcceptsModelVisitor;
+import com.google.web.bindery.requestfactory.gwt.rebind.model.ContextMethod;
+import com.google.web.bindery.requestfactory.gwt.rebind.model.EntityProxyModel;
+import com.google.web.bindery.requestfactory.gwt.rebind.model.ModelVisitor;
+import com.google.web.bindery.requestfactory.gwt.rebind.model.RequestFactoryModel;
+import com.google.web.bindery.requestfactory.gwt.rebind.model.RequestMethod;
+import com.google.web.bindery.requestfactory.gwt.rebind.model.EntityProxyModel.Type;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.JsonRpcContent;
+import com.google.web.bindery.requestfactory.shared.impl.AbstractRequest;
+import com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext;
+import com.google.web.bindery.requestfactory.shared.impl.AbstractRequestFactory;
+import com.google.web.bindery.requestfactory.shared.impl.BaseProxyCategory;
+import com.google.web.bindery.requestfactory.shared.impl.EntityProxyCategory;
+import com.google.web.bindery.requestfactory.shared.impl.RequestData;
+import com.google.web.bindery.requestfactory.shared.impl.ValueProxyCategory;
+import com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext.Dialect;
 
 import java.io.PrintWriter;
 import java.util.Collection;
@@ -67,7 +67,7 @@
 
 /**
  * Generates implementations of
- * {@link com.google.gwt.requestfactory.shared.RequestFactory RequestFactory}
+ * {@link com.google.web.bindery.requestfactory.shared.RequestFactory RequestFactory}
  * and its nested interfaces.
  */
 public class RequestFactoryGenerator extends Generator {
@@ -83,6 +83,7 @@
       this.model = model;
     }
 
+    @Override
     void examineTypeOnce(JClassType type) {
       // Need this to handle List<Foo>, Map<Foo>
       JParameterizedType parameterized = type.isParameterized();
diff --git a/user/src/com/google/gwt/requestfactory/rebind/model/AcceptsModelVisitor.java b/user/src/com/google/web/bindery/requestfactory/gwt/rebind/model/AcceptsModelVisitor.java
similarity index 91%
rename from user/src/com/google/gwt/requestfactory/rebind/model/AcceptsModelVisitor.java
rename to user/src/com/google/web/bindery/requestfactory/gwt/rebind/model/AcceptsModelVisitor.java
index e3fb75c..b6e11f4 100644
--- a/user/src/com/google/gwt/requestfactory/rebind/model/AcceptsModelVisitor.java
+++ b/user/src/com/google/web/bindery/requestfactory/gwt/rebind/model/AcceptsModelVisitor.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.rebind.model;
+package com.google.web.bindery.requestfactory.gwt.rebind.model;
 
 /**
  * A common interface for model types.
diff --git a/user/src/com/google/gwt/requestfactory/rebind/model/ContextMethod.java b/user/src/com/google/web/bindery/requestfactory/gwt/rebind/model/ContextMethod.java
similarity index 93%
rename from user/src/com/google/gwt/requestfactory/rebind/model/ContextMethod.java
rename to user/src/com/google/web/bindery/requestfactory/gwt/rebind/model/ContextMethod.java
index 367f5b7..4de5093 100644
--- a/user/src/com/google/gwt/requestfactory/rebind/model/ContextMethod.java
+++ b/user/src/com/google/web/bindery/requestfactory/gwt/rebind/model/ContextMethod.java
@@ -13,12 +13,12 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.rebind.model;
+package com.google.web.bindery.requestfactory.gwt.rebind.model;
 
 import com.google.gwt.core.ext.typeinfo.JClassType;
 import com.google.gwt.core.ext.typeinfo.JMethod;
-import com.google.gwt.requestfactory.shared.JsonRpcService;
-import com.google.gwt.requestfactory.shared.impl.AbstractRequestContext.Dialect;
+import com.google.web.bindery.requestfactory.shared.JsonRpcService;
+import com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext.Dialect;
 
 import java.util.Collections;
 import java.util.List;
diff --git a/user/src/com/google/gwt/requestfactory/rebind/model/EntityProxyModel.java b/user/src/com/google/web/bindery/requestfactory/gwt/rebind/model/EntityProxyModel.java
similarity index 97%
rename from user/src/com/google/gwt/requestfactory/rebind/model/EntityProxyModel.java
rename to user/src/com/google/web/bindery/requestfactory/gwt/rebind/model/EntityProxyModel.java
index ffcae99..139aef0 100644
--- a/user/src/com/google/gwt/requestfactory/rebind/model/EntityProxyModel.java
+++ b/user/src/com/google/web/bindery/requestfactory/gwt/rebind/model/EntityProxyModel.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.rebind.model;
+package com.google.web.bindery.requestfactory.gwt.rebind.model;
 
 import java.util.Collections;
 import java.util.List;
diff --git a/user/src/com/google/gwt/requestfactory/rebind/model/ModelVisitor.java b/user/src/com/google/web/bindery/requestfactory/gwt/rebind/model/ModelVisitor.java
similarity index 94%
rename from user/src/com/google/gwt/requestfactory/rebind/model/ModelVisitor.java
rename to user/src/com/google/web/bindery/requestfactory/gwt/rebind/model/ModelVisitor.java
index a380da8..09c799a 100644
--- a/user/src/com/google/gwt/requestfactory/rebind/model/ModelVisitor.java
+++ b/user/src/com/google/web/bindery/requestfactory/gwt/rebind/model/ModelVisitor.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.rebind.model;
+package com.google.web.bindery.requestfactory.gwt.rebind.model;
 
 /**
  * Implements traversal across a RequestFactory model.
diff --git a/user/src/com/google/gwt/requestfactory/rebind/model/RequestFactoryModel.java b/user/src/com/google/web/bindery/requestfactory/gwt/rebind/model/RequestFactoryModel.java
similarity index 93%
rename from user/src/com/google/gwt/requestfactory/rebind/model/RequestFactoryModel.java
rename to user/src/com/google/web/bindery/requestfactory/gwt/rebind/model/RequestFactoryModel.java
index 142fdfa..ef1d7e8 100644
--- a/user/src/com/google/gwt/requestfactory/rebind/model/RequestFactoryModel.java
+++ b/user/src/com/google/web/bindery/requestfactory/gwt/rebind/model/RequestFactoryModel.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.rebind.model;
+package com.google.web.bindery.requestfactory.gwt.rebind.model;
 
 import com.google.gwt.autobean.rebind.model.JBeanMethod;
 import com.google.gwt.autobean.shared.Splittable;
@@ -26,20 +26,20 @@
 import com.google.gwt.core.ext.typeinfo.JType;
 import com.google.gwt.core.ext.typeinfo.TypeOracle;
 import com.google.gwt.editor.rebind.model.ModelUtils;
-import com.google.gwt.requestfactory.rebind.model.EntityProxyModel.Type;
-import com.google.gwt.requestfactory.rebind.model.RequestMethod.CollectionType;
-import com.google.gwt.requestfactory.shared.EntityProxy;
-import com.google.gwt.requestfactory.shared.InstanceRequest;
-import com.google.gwt.requestfactory.shared.JsonRpcProxy;
-import com.google.gwt.requestfactory.shared.JsonRpcService;
-import com.google.gwt.requestfactory.shared.ProxyFor;
-import com.google.gwt.requestfactory.shared.ProxyForName;
-import com.google.gwt.requestfactory.shared.Request;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.RequestFactory;
-import com.google.gwt.requestfactory.shared.Service;
-import com.google.gwt.requestfactory.shared.ServiceName;
-import com.google.gwt.requestfactory.shared.ValueProxy;
+import com.google.web.bindery.requestfactory.gwt.rebind.model.EntityProxyModel.Type;
+import com.google.web.bindery.requestfactory.gwt.rebind.model.RequestMethod.CollectionType;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.InstanceRequest;
+import com.google.web.bindery.requestfactory.shared.JsonRpcProxy;
+import com.google.web.bindery.requestfactory.shared.JsonRpcService;
+import com.google.web.bindery.requestfactory.shared.ProxyFor;
+import com.google.web.bindery.requestfactory.shared.ProxyForName;
+import com.google.web.bindery.requestfactory.shared.Request;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.RequestFactory;
+import com.google.web.bindery.requestfactory.shared.Service;
+import com.google.web.bindery.requestfactory.shared.ServiceName;
+import com.google.web.bindery.requestfactory.shared.ValueProxy;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -54,6 +54,10 @@
  * Represents a RequestFactory interface declaration.
  */
 public class RequestFactoryModel implements AcceptsModelVisitor {
+  public static String poisonedMessage() {
+    return "Unable to create RequestFactoryModel model due to previous errors";
+  }
+
   static String badContextReturnType(JMethod method,
       JClassType requestInterface, JClassType instanceRequestInterface) {
     return String.format(
@@ -67,10 +71,6 @@
     return String.format("Optional setters not allowed here: ", found.getName());
   }
 
-  static String poisonedMessage() {
-    return "Unable to create RequestFactoryModel model due to previous errors";
-  }
-
   private final JClassType collectionInterface;
   private final List<ContextMethod> contextMethods = new ArrayList<ContextMethod>();
   private final JClassType entityProxyInterface;
diff --git a/user/src/com/google/gwt/requestfactory/rebind/model/RequestMethod.java b/user/src/com/google/web/bindery/requestfactory/gwt/rebind/model/RequestMethod.java
similarity index 97%
rename from user/src/com/google/gwt/requestfactory/rebind/model/RequestMethod.java
rename to user/src/com/google/web/bindery/requestfactory/gwt/rebind/model/RequestMethod.java
index 867764c..ec5ef6d 100644
--- a/user/src/com/google/gwt/requestfactory/rebind/model/RequestMethod.java
+++ b/user/src/com/google/web/bindery/requestfactory/gwt/rebind/model/RequestMethod.java
@@ -13,11 +13,11 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.rebind.model;
+package com.google.web.bindery.requestfactory.gwt.rebind.model;
 
 import com.google.gwt.core.ext.typeinfo.JClassType;
 import com.google.gwt.core.ext.typeinfo.JMethod;
-import com.google.gwt.requestfactory.shared.JsonRpcWireName;
+import com.google.web.bindery.requestfactory.shared.JsonRpcWireName;
 
 import java.util.ArrayList;
 import java.util.Collections;
diff --git a/user/src/com/google/gwt/requestfactory/ui/client/EntityProxyKeyProvider.java b/user/src/com/google/web/bindery/requestfactory/gwt/ui/client/EntityProxyKeyProvider.java
similarity index 90%
rename from user/src/com/google/gwt/requestfactory/ui/client/EntityProxyKeyProvider.java
rename to user/src/com/google/web/bindery/requestfactory/gwt/ui/client/EntityProxyKeyProvider.java
index 84d715f..9aa6523 100644
--- a/user/src/com/google/gwt/requestfactory/ui/client/EntityProxyKeyProvider.java
+++ b/user/src/com/google/web/bindery/requestfactory/gwt/ui/client/EntityProxyKeyProvider.java
@@ -13,10 +13,10 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.ui.client;
+package com.google.web.bindery.requestfactory.gwt.ui.client;
 
-import com.google.gwt.requestfactory.shared.EntityProxy;
 import com.google.gwt.view.client.ProvidesKey;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
 
 /**
  * An {@link EntityProxy}-aware key provider, handy for use with
diff --git a/user/src/com/google/gwt/requestfactory/ui/client/ProxyRenderer.java b/user/src/com/google/web/bindery/requestfactory/gwt/ui/client/ProxyRenderer.java
similarity index 94%
rename from user/src/com/google/gwt/requestfactory/ui/client/ProxyRenderer.java
rename to user/src/com/google/web/bindery/requestfactory/gwt/ui/client/ProxyRenderer.java
index 2ddf49c..dd5f733 100644
--- a/user/src/com/google/gwt/requestfactory/ui/client/ProxyRenderer.java
+++ b/user/src/com/google/web/bindery/requestfactory/gwt/ui/client/ProxyRenderer.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.ui.client;
+package com.google.web.bindery.requestfactory.gwt.ui.client;
 
 import com.google.gwt.text.shared.AbstractRenderer;
 
diff --git a/user/src/com/google/gwt/requestfactory/ui/client/package-info.java b/user/src/com/google/web/bindery/requestfactory/gwt/ui/client/package-info.java
similarity index 92%
rename from user/src/com/google/gwt/requestfactory/ui/client/package-info.java
rename to user/src/com/google/web/bindery/requestfactory/gwt/ui/client/package-info.java
index 30e5f71..f9d62e8 100644
--- a/user/src/com/google/gwt/requestfactory/ui/client/package-info.java
+++ b/user/src/com/google/web/bindery/requestfactory/gwt/ui/client/package-info.java
@@ -18,4 +18,4 @@
  * Classes used by the request factory to manage proxies, user logins, and authentication.
  */
 @com.google.gwt.util.PreventSpuriousRebuilds
-package com.google.gwt.requestfactory.ui.client;
+package com.google.web.bindery.requestfactory.gwt.ui.client;
diff --git a/user/src/com/google/gwt/requestfactory/server/DeadEntityException.java b/user/src/com/google/web/bindery/requestfactory/server/DeadEntityException.java
similarity index 94%
rename from user/src/com/google/gwt/requestfactory/server/DeadEntityException.java
rename to user/src/com/google/web/bindery/requestfactory/server/DeadEntityException.java
index 535239e..5244543 100644
--- a/user/src/com/google/gwt/requestfactory/server/DeadEntityException.java
+++ b/user/src/com/google/web/bindery/requestfactory/server/DeadEntityException.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
 /**
  * Indicates the user attempted to perform an operation on an irretrievable
diff --git a/user/src/com/google/gwt/requestfactory/server/DefaultExceptionHandler.java b/user/src/com/google/web/bindery/requestfactory/server/DefaultExceptionHandler.java
similarity index 89%
rename from user/src/com/google/gwt/requestfactory/server/DefaultExceptionHandler.java
rename to user/src/com/google/web/bindery/requestfactory/server/DefaultExceptionHandler.java
index 77b901b..ab86e5c 100644
--- a/user/src/com/google/gwt/requestfactory/server/DefaultExceptionHandler.java
+++ b/user/src/com/google/web/bindery/requestfactory/server/DefaultExceptionHandler.java
@@ -13,9 +13,9 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
-import com.google.gwt.requestfactory.shared.ServerFailure;
+import com.google.web.bindery.requestfactory.shared.ServerFailure;
 
 /**
  * Default implementation for handling exceptions thrown while processing a
diff --git a/user/src/com/google/gwt/requestfactory/server/ExceptionHandler.java b/user/src/com/google/web/bindery/requestfactory/server/ExceptionHandler.java
similarity index 89%
rename from user/src/com/google/gwt/requestfactory/server/ExceptionHandler.java
rename to user/src/com/google/web/bindery/requestfactory/server/ExceptionHandler.java
index 8735633..7481ed0 100644
--- a/user/src/com/google/gwt/requestfactory/server/ExceptionHandler.java
+++ b/user/src/com/google/web/bindery/requestfactory/server/ExceptionHandler.java
@@ -13,9 +13,9 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
-import com.google.gwt.requestfactory.shared.ServerFailure;
+import com.google.web.bindery.requestfactory.shared.ServerFailure;
 
 /**
  * Handles an exception produced while processing a request.
diff --git a/user/src/com/google/gwt/requestfactory/server/LocatorServiceLayer.java b/user/src/com/google/web/bindery/requestfactory/server/LocatorServiceLayer.java
similarity index 91%
rename from user/src/com/google/gwt/requestfactory/server/LocatorServiceLayer.java
rename to user/src/com/google/web/bindery/requestfactory/server/LocatorServiceLayer.java
index 221f286..4a292d2 100644
--- a/user/src/com/google/gwt/requestfactory/server/LocatorServiceLayer.java
+++ b/user/src/com/google/web/bindery/requestfactory/server/LocatorServiceLayer.java
@@ -13,17 +13,17 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
-import com.google.gwt.requestfactory.shared.BaseProxy;
-import com.google.gwt.requestfactory.shared.Locator;
-import com.google.gwt.requestfactory.shared.ProxyFor;
-import com.google.gwt.requestfactory.shared.ProxyForName;
-import com.google.gwt.requestfactory.shared.Request;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.Service;
-import com.google.gwt.requestfactory.shared.ServiceLocator;
-import com.google.gwt.requestfactory.shared.ServiceName;
+import com.google.web.bindery.requestfactory.shared.BaseProxy;
+import com.google.web.bindery.requestfactory.shared.Locator;
+import com.google.web.bindery.requestfactory.shared.ProxyFor;
+import com.google.web.bindery.requestfactory.shared.ProxyForName;
+import com.google.web.bindery.requestfactory.shared.Request;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.Service;
+import com.google.web.bindery.requestfactory.shared.ServiceLocator;
+import com.google.web.bindery.requestfactory.shared.ServiceName;
 
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
diff --git a/user/src/com/google/gwt/requestfactory/server/Logging.java b/user/src/com/google/web/bindery/requestfactory/server/Logging.java
similarity index 95%
rename from user/src/com/google/gwt/requestfactory/server/Logging.java
rename to user/src/com/google/web/bindery/requestfactory/server/Logging.java
index b825e68..c213ab1 100644
--- a/user/src/com/google/gwt/requestfactory/server/Logging.java
+++ b/user/src/com/google/web/bindery/requestfactory/server/Logging.java
@@ -14,7 +14,7 @@
  * the License.
  */
 
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
 import com.google.gwt.logging.server.RemoteLoggingServiceUtil;
 import com.google.gwt.logging.server.RemoteLoggingServiceUtil.RemoteLoggingException;
@@ -25,7 +25,7 @@
 
 /**
  * Server side object that handles log messages sent by
- * {@link com.google.gwt.requestfactory.client.RequestFactoryLogHandler}.
+ * {@link com.google.web.bindery.requestfactory.gwt.client.RequestFactoryLogHandler}.
  */
 public class Logging {
 
diff --git a/user/src/com/google/gwt/requestfactory/server/ReflectiveServiceLayer.java b/user/src/com/google/web/bindery/requestfactory/server/ReflectiveServiceLayer.java
similarity index 96%
rename from user/src/com/google/gwt/requestfactory/server/ReflectiveServiceLayer.java
rename to user/src/com/google/web/bindery/requestfactory/server/ReflectiveServiceLayer.java
index 9445f54..f25e0ae 100644
--- a/user/src/com/google/gwt/requestfactory/server/ReflectiveServiceLayer.java
+++ b/user/src/com/google/web/bindery/requestfactory/server/ReflectiveServiceLayer.java
@@ -13,14 +13,14 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
 import com.google.gwt.autobean.server.impl.BeanMethod;
 import com.google.gwt.autobean.server.impl.TypeUtils;
 import com.google.gwt.autobean.shared.ValueCodex;
-import com.google.gwt.requestfactory.shared.BaseProxy;
-import com.google.gwt.requestfactory.shared.InstanceRequest;
-import com.google.gwt.requestfactory.shared.Request;
+import com.google.web.bindery.requestfactory.shared.BaseProxy;
+import com.google.web.bindery.requestfactory.shared.InstanceRequest;
+import com.google.web.bindery.requestfactory.shared.Request;
 
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
@@ -89,6 +89,7 @@
       c.setAccessible(true);
       return c.newInstance();
     } catch (InstantiationException e) {
+      e.printStackTrace();
       return this.<T> report("Could not create a new instance of the requested type");
     } catch (NoSuchMethodException e) {
       return this.<T> report("The requested type is not default-instantiable");
diff --git a/user/src/com/google/gwt/requestfactory/server/ReportableException.java b/user/src/com/google/web/bindery/requestfactory/server/ReportableException.java
similarity index 94%
rename from user/src/com/google/gwt/requestfactory/server/ReportableException.java
rename to user/src/com/google/web/bindery/requestfactory/server/ReportableException.java
index 292b452..c1e51a5 100644
--- a/user/src/com/google/gwt/requestfactory/server/ReportableException.java
+++ b/user/src/com/google/web/bindery/requestfactory/server/ReportableException.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
 /**
  * Encapsulates exceptions that should be thrown back to the client.
diff --git a/user/src/com/google/gwt/requestfactory/server/RequestFactoryInterfaceValidator.java b/user/src/com/google/web/bindery/requestfactory/server/RequestFactoryInterfaceValidator.java
similarity index 98%
rename from user/src/com/google/gwt/requestfactory/server/RequestFactoryInterfaceValidator.java
rename to user/src/com/google/web/bindery/requestfactory/server/RequestFactoryInterfaceValidator.java
index 1fe1c84..dc69783 100644
--- a/user/src/com/google/gwt/requestfactory/server/RequestFactoryInterfaceValidator.java
+++ b/user/src/com/google/web/bindery/requestfactory/server/RequestFactoryInterfaceValidator.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
 import com.google.gwt.autobean.shared.ValueCodex;
 import com.google.gwt.dev.asm.AnnotationVisitor;
@@ -29,17 +29,17 @@
 import com.google.gwt.dev.util.Name;
 import com.google.gwt.dev.util.Name.BinaryName;
 import com.google.gwt.dev.util.Name.SourceOrBinaryName;
-import com.google.gwt.requestfactory.shared.BaseProxy;
-import com.google.gwt.requestfactory.shared.EntityProxy;
-import com.google.gwt.requestfactory.shared.InstanceRequest;
-import com.google.gwt.requestfactory.shared.ProxyFor;
-import com.google.gwt.requestfactory.shared.ProxyForName;
-import com.google.gwt.requestfactory.shared.Request;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.RequestFactory;
-import com.google.gwt.requestfactory.shared.Service;
-import com.google.gwt.requestfactory.shared.ServiceName;
-import com.google.gwt.requestfactory.shared.ValueProxy;
+import com.google.web.bindery.requestfactory.shared.BaseProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.InstanceRequest;
+import com.google.web.bindery.requestfactory.shared.ProxyFor;
+import com.google.web.bindery.requestfactory.shared.ProxyForName;
+import com.google.web.bindery.requestfactory.shared.Request;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.RequestFactory;
+import com.google.web.bindery.requestfactory.shared.Service;
+import com.google.web.bindery.requestfactory.shared.ServiceName;
+import com.google.web.bindery.requestfactory.shared.ValueProxy;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -79,7 +79,7 @@
  * 
  * <pre>
  * java -cp gwt-servlet.jar:your-code.jar \
- *   com.google.gwt.requestfactory.server.RequestFactoryInterfaceValidator \
+ *   com.google.web.bindery.requestfactory.server.RequestFactoryInterfaceValidator \
  *   com.example.MyRequestFactory
  * </pre>
  */
diff --git a/user/src/com/google/web/bindery/requestfactory/server/RequestFactoryJarExtractor.java b/user/src/com/google/web/bindery/requestfactory/server/RequestFactoryJarExtractor.java
new file mode 100644
index 0000000..429b94e
--- /dev/null
+++ b/user/src/com/google/web/bindery/requestfactory/server/RequestFactoryJarExtractor.java
@@ -0,0 +1,865 @@
+/*
+ * Copyright 2011 Google Inc.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.web.bindery.requestfactory.server;
+
+import com.google.gwt.dev.asm.AnnotationVisitor;
+import com.google.gwt.dev.asm.Attribute;
+import com.google.gwt.dev.asm.ClassAdapter;
+import com.google.gwt.dev.asm.ClassReader;
+import com.google.gwt.dev.asm.ClassVisitor;
+import com.google.gwt.dev.asm.ClassWriter;
+import com.google.gwt.dev.asm.FieldVisitor;
+import com.google.gwt.dev.asm.Label;
+import com.google.gwt.dev.asm.MethodAdapter;
+import com.google.gwt.dev.asm.MethodVisitor;
+import com.google.gwt.dev.asm.Opcodes;
+import com.google.gwt.dev.asm.Type;
+import com.google.gwt.dev.asm.commons.Method;
+import com.google.gwt.dev.util.Name;
+import com.google.gwt.dev.util.Util;
+import com.google.gwt.event.shared.SimpleEventBus;
+import com.google.web.bindery.requestfactory.server.RequestFactoryInterfaceValidator.ClassLoaderLoader;
+import com.google.web.bindery.requestfactory.server.RequestFactoryInterfaceValidator.ErrorContext;
+import com.google.web.bindery.requestfactory.server.RequestFactoryInterfaceValidator.Loader;
+import com.google.web.bindery.requestfactory.shared.BaseProxy;
+import com.google.web.bindery.requestfactory.shared.DefaultProxyStore;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxyChange;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.InstanceRequest;
+import com.google.web.bindery.requestfactory.shared.JsonRpcContent;
+import com.google.web.bindery.requestfactory.shared.JsonRpcProxy;
+import com.google.web.bindery.requestfactory.shared.JsonRpcService;
+import com.google.web.bindery.requestfactory.shared.JsonRpcWireName;
+import com.google.web.bindery.requestfactory.shared.Locator;
+import com.google.web.bindery.requestfactory.shared.LoggingRequest;
+import com.google.web.bindery.requestfactory.shared.ProxyFor;
+import com.google.web.bindery.requestfactory.shared.ProxyForName;
+import com.google.web.bindery.requestfactory.shared.ProxySerializer;
+import com.google.web.bindery.requestfactory.shared.ProxyStore;
+import com.google.web.bindery.requestfactory.shared.Receiver;
+import com.google.web.bindery.requestfactory.shared.Request;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.RequestFactory;
+import com.google.web.bindery.requestfactory.shared.RequestTransport;
+import com.google.web.bindery.requestfactory.shared.ServerFailure;
+import com.google.web.bindery.requestfactory.shared.Service;
+import com.google.web.bindery.requestfactory.shared.ServiceLocator;
+import com.google.web.bindery.requestfactory.shared.ServiceName;
+import com.google.web.bindery.requestfactory.shared.ValueProxy;
+import com.google.web.bindery.requestfactory.shared.Violation;
+import com.google.web.bindery.requestfactory.shared.WriteOperation;
+import com.google.web.bindery.requestfactory.vm.RequestFactorySource;
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.jar.JarOutputStream;
+import java.util.jar.Manifest;
+import java.util.logging.Logger;
+import java.util.zip.ZipEntry;
+
+/**
+ * Used to extract RequestFactory client jars from {@code gwt-user.jar}.
+ */
+public class RequestFactoryJarExtractor {
+  /*
+   * The FooProcessor types are ASM visitors that traverse the bytecode, calling
+   * one of the various processFoo() methods. The visitors will also update the
+   * bytecode with the rebased type names that are returned from the
+   * processFoo() methods.
+   */
+
+  /**
+   * Describes a way to emit the contents of a classpath, typically into a JAR
+   * or filesystem directory.
+   */
+  public interface Emitter {
+    void close() throws IOException;
+
+    void emit(String path, InputStream contents) throws IOException;
+  }
+
+  /**
+   * An Emitter implementation that creates a jar file.
+   */
+  public static class JarEmitter implements Emitter {
+    private int rawByteSize;
+    private final JarOutputStream out;
+
+    public JarEmitter(File outFile) throws IOException {
+      Manifest m = new Manifest();
+      m.getMainAttributes().putValue("Created-By",
+          RequestFactoryJarExtractor.class.getCanonicalName());
+      m.getMainAttributes();
+      out = new JarOutputStream(new FileOutputStream(outFile), m);
+    }
+
+    public void close() throws IOException {
+      out.close();
+    }
+
+    public void emit(String path, InputStream contents) throws IOException {
+      ZipEntry entry = new ZipEntry(path);
+      out.putNextEntry(entry);
+      byte[] bytes = new byte[4096];
+      int read;
+      for (;;) {
+        read = contents.read(bytes);
+        if (read == -1) {
+          break;
+        }
+        rawByteSize += read;
+        out.write(bytes, 0, read);
+      }
+      out.closeEntry();
+    }
+  }
+
+  /**
+   * Controls what is emitted by the tool.
+   */
+  public enum Mode {
+    BOTH(true, true) {
+      @Override
+      protected boolean matches(String target) {
+        return target.endsWith(CODE_AND_SOURCE);
+      }
+    },
+    SOURCE(false, true) {
+      @Override
+      protected boolean matches(String target) {
+        return target.endsWith(SOURCE_ONLY);
+      }
+    },
+    // Order is important, must be last
+    CLASSES(true, false) {
+      @Override
+      protected boolean matches(String target) {
+        return true;
+      }
+    };
+
+    public static Mode match(String target) {
+      for (Mode mode : Mode.values()) {
+        if (mode.matches(target)) {
+          return mode;
+        }
+      }
+      return null;
+    }
+
+    private final boolean emitClasses;
+    private final boolean emitSource;
+
+    private Mode(boolean emitClasses, boolean emitSource) {
+      this.emitClasses = emitClasses;
+      this.emitSource = emitSource;
+    }
+
+    public boolean isEmitClasses() {
+      return emitClasses;
+    }
+
+    public boolean isEmitSource() {
+      return emitSource;
+    }
+
+    protected abstract boolean matches(String target);
+  }
+
+  private class AnnotationProcessor implements AnnotationVisitor {
+    private final String sourceType;
+    private final AnnotationVisitor av;
+
+    public AnnotationProcessor(String sourceType, AnnotationVisitor av) {
+      this.sourceType = sourceType;
+      this.av = av;
+    }
+
+    public void visit(String name, Object value) {
+      value = processConstant(sourceType, value);
+      av.visit(name, value);
+    }
+
+    public AnnotationVisitor visitAnnotation(String name, String desc) {
+      desc = processDescriptor(sourceType, desc);
+      return new AnnotationProcessor(desc, av.visitAnnotation(name, desc));
+    }
+
+    public AnnotationVisitor visitArray(String name) {
+      return new AnnotationProcessor(name, av.visitArray(name));
+    }
+
+    public void visitEnd() {
+      av.visitEnd();
+    }
+
+    public void visitEnum(String name, String desc, String value) {
+      desc = processDescriptor(sourceType, desc);
+      av.visitEnum(name, desc, value);
+    }
+  }
+
+  private class ClassProcessor extends ClassAdapter {
+    private State state;
+    private String sourceType;
+
+    public ClassProcessor(String sourceType, ClassVisitor cv, State state) {
+      super(cv);
+      this.sourceType = sourceType;
+      this.state = state;
+    }
+
+    @Override
+    public void visit(int version, int access, String name, String signature,
+        String superName, String[] interfaces) {
+      name = processInternalName(sourceType, name);
+      superName = processInternalName(sourceType, superName);
+      if (interfaces != null) {
+        for (int i = 0, j = interfaces.length; i < j; i++) {
+          interfaces[i] = processInternalName(sourceType, interfaces[i]);
+        }
+      }
+      super.visit(version, access, name, signature, superName, interfaces);
+    }
+
+    @Override
+    public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
+      desc = processDescriptor(sourceType, desc);
+      return new AnnotationProcessor(sourceType, super.visitAnnotation(desc, visible));
+    }
+
+    @Override
+    public FieldVisitor visitField(int access, String name, String desc,
+        String signature, Object value) {
+      desc = processDescriptor(sourceType, desc);
+      return new FieldProcessor(sourceType, super.visitField(access, name, desc, signature,
+          value));
+    }
+
+    @Override
+    public void visitInnerClass(String name, String outerName,
+        String innerName, int access) {
+      name = processInternalName(sourceType, name);
+      outerName = processInternalName(sourceType, outerName);
+      super.visitInnerClass(name, outerName, innerName, access);
+    }
+
+    @Override
+    public MethodVisitor visitMethod(int access, String name, String desc,
+        String signature, String[] exceptions) {
+      Method method = processMethod(sourceType, name, desc);
+      desc = method.getDescriptor();
+      if (exceptions != null) {
+        for (int i = 0, j = exceptions.length; i < j; i++) {
+          exceptions[i] = processInternalName(sourceType, exceptions[i]);
+        }
+      }
+      MethodVisitor mv = super.visitMethod(access, name, desc, signature,
+          exceptions);
+      if (mv != null) {
+        mv = new MethodProcessor(sourceType, mv);
+      }
+      return mv;
+    }
+
+    @Override
+    public void visitOuterClass(String owner, String name, String desc) {
+      owner = processInternalName(sourceType, owner);
+      if (desc != null) {
+        desc = processMethod(sourceType, name, desc).getDescriptor();
+      }
+      super.visitOuterClass(owner, name, desc);
+    }
+
+    @Override
+    public void visitSource(String source, String debug) {
+      if (source != null) {
+        state.source = source;
+      }
+      super.visitSource(source, debug);
+    }
+  }
+
+  /**
+   * A unit of work to write one class and its source file into the Emitter.
+   */
+  private class EmitOneType implements Callable<Void> {
+    private final State state;
+
+    /**
+     * @param state
+     */
+    private EmitOneType(State state) {
+      this.state = state;
+    }
+
+    public Void call() throws Exception {
+      if (mode.isEmitClasses()) {
+        String fileName = state.type.getInternalName();
+        if (fileName == null) {
+          System.err.println("Got null filename from " + state.type);
+          return null;
+        }
+        fileName += ".class";
+        emitter.emit(fileName, state.contents);
+      }
+      if (mode.isEmitSource()) {
+        String sourcePath = getPackagePath(state.originalType) + state.source;
+        String destPath = getPackagePath(state.type) + state.source;
+        if (sources.add(sourcePath) && loader.exists(sourcePath)) {
+          String contents = Util.readStreamAsString(loader.getResourceAsStream(sourcePath));
+          emitter.emit(destPath,
+              new ByteArrayInputStream(Util.getBytes(contents)));
+        }
+      }
+      return null;
+    }
+  }
+
+  // There is no FieldAdapter type
+  private class FieldProcessor implements FieldVisitor {
+    private final String sourceType;
+    private final FieldVisitor fv;
+
+    public FieldProcessor(String sourceType, FieldVisitor fv) {
+      this.sourceType = sourceType;
+      this.fv = fv;
+    }
+
+    public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
+      return new AnnotationProcessor(sourceType, fv.visitAnnotation(desc, visible));
+    }
+
+    public void visitAttribute(Attribute attr) {
+      fv.visitAttribute(attr);
+    }
+
+    public void visitEnd() {
+      fv.visitEnd();
+    }
+  }
+
+  private class MethodProcessor extends MethodAdapter {
+    private final String sourceType;
+    
+    public MethodProcessor(String sourceType, MethodVisitor mv) {
+      super(mv);
+      this.sourceType = sourceType;
+    }
+
+    @Override
+    public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
+      desc = processDescriptor(sourceType, desc);
+      return super.visitAnnotation(desc, visible);
+    }
+
+    @Override
+    public AnnotationVisitor visitAnnotationDefault() {
+      return new AnnotationProcessor(sourceType, super.visitAnnotationDefault());
+    }
+
+    @Override
+    public void visitFieldInsn(int opcode, String owner, String name,
+        String desc) {
+      owner = processInternalName(sourceType, owner);
+      desc = processDescriptor(sourceType, desc);
+      super.visitFieldInsn(opcode, owner, name, desc);
+    }
+
+    @Override
+    public void visitFrame(int type, int nLocal, Object[] local, int nStack,
+        Object[] stack) {
+      for (int i = 0, j = local.length; i < j; i++) {
+        if (local[i] instanceof String) {
+          local[i] = processInternalName(sourceType, (String) local[i]);
+        }
+      }
+      for (int i = 0, j = stack.length; i < j; i++) {
+        if (stack[i] instanceof String) {
+          stack[i] = processInternalName(sourceType, (String) stack[i]);
+        }
+      }
+      super.visitFrame(type, nLocal, local, nStack, stack);
+    }
+
+    @Override
+    public void visitLdcInsn(Object cst) {
+      cst = processConstant(sourceType, cst);
+      super.visitLdcInsn(cst);
+    }
+
+    @Override
+    public void visitLocalVariable(String name, String desc, String signature,
+        Label start, Label end, int index) {
+      desc = processDescriptor(sourceType, desc);
+      super.visitLocalVariable(name, desc, signature, start, end, index);
+    }
+
+    @Override
+    public void visitMethodInsn(int opcode, String owner, String name,
+        String desc) {
+      owner = processInternalName(sourceType, owner);
+      desc = processMethod(sourceType, name, desc).getDescriptor();
+      super.visitMethodInsn(opcode, owner, name, desc);
+    }
+
+    @Override
+    public void visitMultiANewArrayInsn(String desc, int dims) {
+      desc = processDescriptor(sourceType, desc);
+      super.visitMultiANewArrayInsn(desc, dims);
+    }
+
+    @Override
+    public AnnotationVisitor visitParameterAnnotation(int parameter,
+        String desc, boolean visible) {
+      desc = processDescriptor(sourceType, desc);
+      return super.visitParameterAnnotation(parameter, desc, visible);
+    }
+
+    @Override
+    public void visitTryCatchBlock(Label start, Label end, Label handler,
+        String type) {
+      type = processInternalName(sourceType, type);
+      super.visitTryCatchBlock(start, end, handler, type);
+    }
+
+    @Override
+    public void visitTypeInsn(int opcode, String type) {
+      type = processInternalName(sourceType, type);
+      super.visitTypeInsn(opcode, type);
+    }
+  }
+
+  /**
+   * Replaces native methods with stub implementations that throw an exception.
+   * This allows any dangling GWT types to be loaded by a JVM without triggering
+   * an {@link UnsatisfiedLinkError}.
+   */
+  private class NativeMethodDefanger extends ClassAdapter {
+    public NativeMethodDefanger(ClassVisitor cv) {
+      super(cv);
+    }
+
+    @Override
+    public MethodVisitor visitMethod(int access, String name, String desc,
+        String signature, String[] exceptions) {
+      if ((access & Opcodes.ACC_NATIVE) != 0) {
+        MethodVisitor mv = super.visitMethod(access & ~Opcodes.ACC_NATIVE,
+            name, desc, signature, exceptions);
+        if (mv != null) {
+          mv.visitCode();
+          String exceptionName = Type.getInternalName(RuntimeException.class);
+          // <empty>
+          mv.visitTypeInsn(Opcodes.NEW, exceptionName);
+          // obj
+          mv.visitInsn(Opcodes.DUP);
+          // obj, obj
+          mv.visitLdcInsn(NATIVE_METHOD_ERROR);
+          // obj, obj, string
+          mv.visitMethodInsn(Opcodes.INVOKESPECIAL, exceptionName, "<init>",
+              "(Ljava/lang/String;)V");
+          // obj
+          mv.visitInsn(Opcodes.ATHROW);
+
+          // Count argument slots - long and double arguments each take up 2 slots
+          int numSlots = 0;
+          for (Type t : Type.getArgumentTypes(desc)) {
+            numSlots += t.getSize();
+          }
+          if ((access & Opcodes.ACC_STATIC) == 0) {
+            // Add one for 'this' reference
+            numSlots++;
+          }
+          mv.visitMaxs(3, numSlots);
+          mv.visitEnd();
+        }
+        return null;
+      } else {
+        return super.visitMethod(access, name, desc, signature, exceptions);
+      }
+    }
+  }
+
+  /**
+   * This is the main bytecode-processing entry point. It will read in one
+   * classfile and produce a mutated copy. Any referenced types will be enqueued
+   * via {@link RequestFactoryJarExtractor#processType(String, Type)}.
+   */
+  private class ProcessOneType implements Callable<State> {
+
+    private final State state;
+    private final String typeName;
+
+    public ProcessOneType(Type type) {
+      state = new State(type);
+      typeName = type.getClassName();
+    }
+
+    public State call() throws Exception {
+      ClassWriter writer = new ClassWriter(0);
+      ClassVisitor cv = writer;
+      cv = new ClassProcessor(typeName, cv, state);
+      cv = new NativeMethodDefanger(cv);
+      visit(logger.setType(state.type), loader, state.type.getInternalName(),
+          cv);
+      state.contents = new ByteArrayInputStream(writer.toByteArray());
+      assert seen.containsKey(state.originalType) : "No type for "
+          + state.type.getClassName();
+      state.type = seen.get(state.originalType);
+
+      emit(state);
+      return state;
+    }
+  }
+
+  /**
+   * Metadata about a single type.
+   */
+  private static class State {
+    boolean containsNativeMethods;
+    /**
+     * Will contain the data to be written to disk, possibly mutated class data.
+     */
+    InputStream contents;
+    String source;
+    /**
+     * The possibly rebased type name.
+     */
+    Type type;
+    final Type originalType;
+
+    public State(Type type) {
+      this.originalType = this.type = type;
+    }
+
+    @Override
+    public String toString() {
+      StringBuilder sb = new StringBuilder();
+      sb.append(type.getInternalName());
+      if (containsNativeMethods) {
+        sb.append(" NATIVE");
+      }
+      if (source != null) {
+        sb.append(" ").append(source);
+      }
+      return sb.toString();
+    }
+  }
+
+  /**
+   * If true, print a trace of dependencies to System.out.
+   */
+  private static final boolean VERBOSE = false;
+
+  /**
+   * 
+   */
+  private static final String CODE_AND_SOURCE = "+src";
+
+  /**
+   * 
+   */
+  private static final String SOURCE_ONLY = "-src";
+
+  private static final String NATIVE_METHOD_ERROR = "Cannot call native method";
+
+  /**
+   * A map of target names to the types that target should use as a base.
+   */
+  private static final Map<String, List<Class<?>>> SEEDS = new LinkedHashMap<String, List<Class<?>>>();
+
+  /**
+   * Server public API classes and interfaces.
+   */
+  private static final Class<?>[] SERVER_CLASSES = {
+      DefaultExceptionHandler.class, ExceptionHandler.class, Logging.class, LoggingRequest.class,
+      RequestFactoryServlet.class, ServiceLayer.class, ServiceLayerDecorator.class,
+      SimpleRequestProcessor.class
+  };
+
+  /**
+   * Shared public API classes and interfaces.
+   */
+  private static final Class<?>[] SHARED_CLASSES = {
+      BaseProxy.class, DefaultProxyStore.class, EntityProxy.class, EntityProxyChange.class,
+      EntityProxyId.class, InstanceRequest.class, JsonRpcContent.class, JsonRpcProxy.class,
+      JsonRpcService.class, JsonRpcWireName.class, Locator.class, ProxyFor.class,
+      ProxyForName.class, ProxySerializer.class, ProxyStore.class, Receiver.class, Request.class,
+      RequestContext.class, RequestFactory.class, RequestTransport.class, ServerFailure.class,
+      Service.class, ServiceLocator.class, ServiceName.class, ValueProxy.class, Violation.class,
+      WriteOperation.class, RequestFactorySource.class, SimpleEventBus.class
+  };
+
+  static {
+    List<Class<?>> sharedClasses = Arrays.<Class<?>> asList(SHARED_CLASSES);
+
+    List<Class<?>> clientClasses = new ArrayList<Class<?>>();
+    clientClasses.addAll(sharedClasses);
+
+    List<Class<?>> serverClasses = new ArrayList<Class<?>>();
+    serverClasses.addAll(Arrays.<Class<?>> asList(SERVER_CLASSES));
+    serverClasses.addAll(sharedClasses);
+
+    SEEDS.put("client", Collections.unmodifiableList(clientClasses));
+    SEEDS.put("server", Collections.unmodifiableList(serverClasses));
+
+    Set<Class<?>> all = new LinkedHashSet<Class<?>>();
+    for (List<Class<?>> value : SEEDS.values()) {
+      all.addAll(value);
+    }
+    SEEDS.put("all", Collections.unmodifiableList(new ArrayList<Class<?>>(all)));
+
+    for (String target : new ArrayList<String>(SEEDS.keySet())) {
+      SEEDS.put(target + SOURCE_ONLY, SEEDS.get(target));
+      SEEDS.put(target + CODE_AND_SOURCE, SEEDS.get(target));
+    }
+
+    /*
+     * Allows the rebased package to be tested. This is done with a by-name
+     * lookup, since the gwt-user code is compiled separately from its tests.
+     */
+    try {
+      SEEDS.put(
+          "test" + CODE_AND_SOURCE,
+          Collections.unmodifiableList(Arrays.<Class<?>> asList(
+              Class.forName("com.google.web.bindery.requestfactory.RequestFactoryJreSuite"),
+              Class.forName("com.google.web.bindery.requestfactory.server.SimpleBar"))));
+    } catch (ClassNotFoundException ignored) {
+    }
+  }
+
+  public static void main(String[] args) throws IOException {
+    if (args.length < 2) {
+      System.err.println("Usage: java -cp gwt-dev.jar:gwt-user.jar:json.jar"
+          + RequestFactoryJarExtractor.class.getCanonicalName()
+          + " <target-name> outfile.jar");
+      System.err.println("Valid targets:");
+      for (String target : SEEDS.keySet()) {
+        System.err.println("  " + target);
+      }
+      System.exit(1);
+    }
+    String target = args[0];
+    List<Class<?>> seeds = SEEDS.get(target);
+    if (seeds == null) {
+      System.err.println("Unknown target: " + target);
+      System.exit(1);
+    }
+    Mode mode = Mode.match(target);
+    Logger errorContext = Logger.getLogger(RequestFactoryJarExtractor.class.getName());
+    ClassLoaderLoader classLoader = new ClassLoaderLoader(
+        Thread.currentThread().getContextClassLoader());
+    JarEmitter jarEmitter = new JarEmitter(new File(args[1]));
+    RequestFactoryJarExtractor extractor = new RequestFactoryJarExtractor(
+        errorContext, classLoader, jarEmitter, seeds, mode);
+    extractor.run();
+    System.exit(0);
+  }
+
+  /**
+   * Given a Type, return a path-prefix based on the type's package.
+   */
+  private static String getPackagePath(Type t) {
+    String name = t.getInternalName();
+    return name.substring(0, name.lastIndexOf('/') + 1);
+  }
+
+  /**
+   * Load the classfile for the given binary name and apply the provided
+   * visitor.
+   * 
+   * @return <code>true</code> if the visitor was successfully visited
+   */
+  private static boolean visit(ErrorContext logger, Loader loader,
+      String internalName, ClassVisitor visitor) {
+    assert Name.isInternalName(internalName) : "internalName";
+    logger.spam("Visiting " + internalName);
+    InputStream inputStream = null;
+    try {
+      inputStream = loader.getResourceAsStream(internalName + ".class");
+      if (inputStream == null) {
+        System.err.println("Could not find class file for " + internalName);
+        logger.poison("Could not find class file for " + internalName);
+        return false;
+      }
+      ClassReader reader = new ClassReader(inputStream);
+      reader.accept(visitor, 0);
+      return true;
+    } catch (IOException e) {
+      logger.poison("Unable to open " + internalName, e);
+    } finally {
+      if (inputStream != null) {
+        try {
+          inputStream.close();
+        } catch (IOException ignored) {
+        }
+      }
+    }
+    return false;
+  }
+
+  private final Emitter emitter;
+  private final ExecutorService ex;
+  private final BlockingQueue<Future<?>> inProcess = new LinkedBlockingQueue<Future<?>>();
+  private final ErrorContext logger;
+  private final Loader loader;
+  private final Mode mode;
+  private final List<Class<?>> seeds;
+  private final Map<Type, Type> seen = new HashMap<Type, Type>();
+  private final Set<String> sources = new HashSet<String>();
+  private final ExecutorService writerService;
+
+  public RequestFactoryJarExtractor(Logger logger, Loader loader,
+      Emitter emitter, List<Class<?>> seeds, Mode mode) {
+    this.logger = new ErrorContext(logger);
+    this.loader = loader;
+    this.emitter = emitter;
+    this.seeds = seeds;
+    this.mode = mode;
+
+    ex = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors());
+    writerService = Executors.newSingleThreadExecutor();
+  }
+
+  /**
+   * Blocks until all work has been finished.
+   */
+  public void run() throws IOException {
+    for (Class<?> seed : seeds) {
+      processType("seeds", Type.getType(seed));
+    }
+    // Wait for all tasks to be completed
+    while (!inProcess.isEmpty()) {
+      try {
+        Future<?> task = inProcess.take();
+        task.get();
+      } catch (InterruptedException retry) {
+      } catch (ExecutionException e) {
+        e.getCause().printStackTrace();
+      }
+    }
+    emitter.close();
+  }
+
+  /**
+   * Write one type into the output.
+   */
+  private void emit(final State state) {
+    inProcess.add(writerService.submit(new EmitOneType(state)));
+  }
+
+  /**
+   * Look at constant values from the bytecode, processing referenced types.
+   */
+  private Object processConstant(String sourceType, Object value) {
+    if (value instanceof Type) {
+      value = processType(sourceType, (Type) value);
+    }
+    return value;
+  }
+
+  /**
+   * Process the type represented by the descriptor, possibly returning a
+   * rebased descriptor.
+   */
+  private String processDescriptor(String sourceType, String desc) {
+    if (desc == null) {
+      return null;
+    }
+    return processType(sourceType, Type.getType(desc)).getDescriptor();
+  }
+
+  /**
+   * Process the type represented by the name, possibly returning a rebased
+   * name.
+   */
+  private String processInternalName(String sourceType, String internalName) {
+    if (internalName == null) {
+      return null;
+    }
+    return processType(sourceType, Type.getObjectType(internalName)).getInternalName();
+  }
+
+  /**
+   * Produce a rebased method declaration, also visiting referenced types.
+   */
+  private Method processMethod(String sourceType, String name, String desc) {
+    Method method = new Method(name, desc);
+    Type[] argumentTypes = method.getArgumentTypes();
+    for (int i = 0, j = argumentTypes.length; i < j; i++) {
+      argumentTypes[i] = processType(sourceType, argumentTypes[i]);
+    }
+    method = new Method(name, processType(sourceType, method.getReturnType()),
+        argumentTypes);
+    return method;
+  }
+
+  /**
+   * Process a type, possibly returning a rebased type.
+   * @param sourceType TODO
+   */
+  private Type processType(String sourceType, Type type) {
+    Type toReturn;
+    synchronized (seen) {
+      toReturn = seen.get(type);
+      if (toReturn != null) {
+        return toReturn;
+      }
+      toReturn = Type.getType(type.getDescriptor());
+      seen.put(type, toReturn);
+    }
+    int sort = type.getSort();
+    if (sort != Type.OBJECT && sort != Type.ARRAY) {
+      return toReturn;
+    }
+    if (sort == Type.ARRAY) {
+      processType(sourceType, type.getElementType());
+      return toReturn;
+    }
+    assert type.getInternalName().charAt(0) != 'L';
+    if (type.getInternalName().startsWith("java/")
+        || type.getInternalName().startsWith("javax/")) {
+      return toReturn;
+    }
+    if (VERBOSE) {
+      System.out.println(sourceType + " -> " + type.getClassName());
+    }
+    Future<State> future = ex.submit(new ProcessOneType(type));
+    inProcess.add(future);
+    return toReturn;
+  }
+}
diff --git a/user/src/com/google/gwt/requestfactory/server/RequestFactoryServlet.java b/user/src/com/google/web/bindery/requestfactory/server/RequestFactoryServlet.java
similarity index 96%
rename from user/src/com/google/gwt/requestfactory/server/RequestFactoryServlet.java
rename to user/src/com/google/web/bindery/requestfactory/server/RequestFactoryServlet.java
index cfac4b4..9d45633 100644
--- a/user/src/com/google/gwt/requestfactory/server/RequestFactoryServlet.java
+++ b/user/src/com/google/web/bindery/requestfactory/server/RequestFactoryServlet.java
@@ -13,10 +13,10 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
-import com.google.gwt.requestfactory.shared.RequestFactory;
 import com.google.gwt.user.server.rpc.RPCServletUtils;
+import com.google.web.bindery.requestfactory.shared.RequestFactory;
 
 import java.io.IOException;
 import java.io.PrintWriter;
@@ -29,7 +29,7 @@
 import javax.servlet.http.HttpServletResponse;
 
 /**
- * Handles GWT RequestFactory JSON requests. 
+ * Handles GWT RequestFactory JSON requests.
  */
 @SuppressWarnings("serial")
 public class RequestFactoryServlet extends HttpServlet {
diff --git a/user/src/com/google/gwt/requestfactory/server/RequestState.java b/user/src/com/google/web/bindery/requestfactory/server/RequestState.java
similarity index 91%
rename from user/src/com/google/gwt/requestfactory/server/RequestState.java
rename to user/src/com/google/web/bindery/requestfactory/server/RequestState.java
index 79eda0a..988250f 100644
--- a/user/src/com/google/gwt/requestfactory/server/RequestState.java
+++ b/user/src/com/google/web/bindery/requestfactory/server/RequestState.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
 import com.google.gwt.autobean.server.AutoBeanFactoryMagic;
 import com.google.gwt.autobean.shared.AutoBean;
@@ -21,17 +21,17 @@
 import com.google.gwt.autobean.shared.Splittable;
 import com.google.gwt.autobean.shared.ValueCodex;
 import com.google.gwt.autobean.shared.impl.StringQuoter;
-import com.google.gwt.requestfactory.server.SimpleRequestProcessor.IdToEntityMap;
-import com.google.gwt.requestfactory.shared.BaseProxy;
-import com.google.gwt.requestfactory.shared.EntityProxy;
-import com.google.gwt.requestfactory.shared.ValueProxy;
-import com.google.gwt.requestfactory.shared.impl.Constants;
-import com.google.gwt.requestfactory.shared.impl.EntityCodex;
-import com.google.gwt.requestfactory.shared.impl.IdFactory;
-import com.google.gwt.requestfactory.shared.impl.MessageFactoryHolder;
-import com.google.gwt.requestfactory.shared.impl.SimpleProxyId;
-import com.google.gwt.requestfactory.shared.messages.IdMessage;
-import com.google.gwt.requestfactory.shared.messages.IdMessage.Strength;
+import com.google.web.bindery.requestfactory.server.SimpleRequestProcessor.IdToEntityMap;
+import com.google.web.bindery.requestfactory.shared.BaseProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.ValueProxy;
+import com.google.web.bindery.requestfactory.shared.impl.Constants;
+import com.google.web.bindery.requestfactory.shared.impl.EntityCodex;
+import com.google.web.bindery.requestfactory.shared.impl.IdFactory;
+import com.google.web.bindery.requestfactory.shared.impl.MessageFactoryHolder;
+import com.google.web.bindery.requestfactory.shared.impl.SimpleProxyId;
+import com.google.web.bindery.requestfactory.shared.messages.IdMessage;
+import com.google.web.bindery.requestfactory.shared.messages.IdMessage.Strength;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -292,4 +292,4 @@
     }
     return toReturn;
   }
-}
\ No newline at end of file
+}
diff --git a/user/src/com/google/gwt/requestfactory/server/Resolver.java b/user/src/com/google/web/bindery/requestfactory/server/Resolver.java
similarity index 97%
rename from user/src/com/google/gwt/requestfactory/server/Resolver.java
rename to user/src/com/google/web/bindery/requestfactory/server/Resolver.java
index b7be1ce..086adbf 100644
--- a/user/src/com/google/gwt/requestfactory/server/Resolver.java
+++ b/user/src/com/google/web/bindery/requestfactory/server/Resolver.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
 import com.google.gwt.autobean.server.impl.TypeUtils;
 import com.google.gwt.autobean.shared.AutoBean;
@@ -21,11 +21,11 @@
 import com.google.gwt.autobean.shared.AutoBeanVisitor;
 import com.google.gwt.autobean.shared.Splittable;
 import com.google.gwt.autobean.shared.ValueCodex;
-import com.google.gwt.requestfactory.shared.BaseProxy;
-import com.google.gwt.requestfactory.shared.EntityProxy;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
-import com.google.gwt.requestfactory.shared.impl.Constants;
-import com.google.gwt.requestfactory.shared.impl.SimpleProxyId;
+import com.google.web.bindery.requestfactory.shared.BaseProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.impl.Constants;
+import com.google.web.bindery.requestfactory.shared.impl.SimpleProxyId;
 
 import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Type;
diff --git a/user/src/com/google/gwt/requestfactory/server/ResolverServiceLayer.java b/user/src/com/google/web/bindery/requestfactory/server/ResolverServiceLayer.java
similarity index 91%
rename from user/src/com/google/gwt/requestfactory/server/ResolverServiceLayer.java
rename to user/src/com/google/web/bindery/requestfactory/server/ResolverServiceLayer.java
index c0f2f72..e9f6914 100644
--- a/user/src/com/google/gwt/requestfactory/server/ResolverServiceLayer.java
+++ b/user/src/com/google/web/bindery/requestfactory/server/ResolverServiceLayer.java
@@ -13,18 +13,18 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
 import com.google.gwt.autobean.server.impl.TypeUtils;
-import com.google.gwt.requestfactory.shared.BaseProxy;
-import com.google.gwt.requestfactory.shared.EntityProxy;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
-import com.google.gwt.requestfactory.shared.ProxyFor;
-import com.google.gwt.requestfactory.shared.ProxyForName;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.Service;
-import com.google.gwt.requestfactory.shared.ServiceName;
-import com.google.gwt.requestfactory.shared.ValueProxy;
+import com.google.web.bindery.requestfactory.shared.BaseProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.ProxyFor;
+import com.google.web.bindery.requestfactory.shared.ProxyForName;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.Service;
+import com.google.web.bindery.requestfactory.shared.ServiceName;
+import com.google.web.bindery.requestfactory.shared.ValueProxy;
 
 import java.lang.reflect.Method;
 import java.util.List;
diff --git a/user/src/com/google/gwt/requestfactory/server/ServiceLayer.java b/user/src/com/google/web/bindery/requestfactory/server/ServiceLayer.java
similarity index 97%
rename from user/src/com/google/gwt/requestfactory/server/ServiceLayer.java
rename to user/src/com/google/web/bindery/requestfactory/server/ServiceLayer.java
index da997bb..2664b86 100644
--- a/user/src/com/google/gwt/requestfactory/server/ServiceLayer.java
+++ b/user/src/com/google/web/bindery/requestfactory/server/ServiceLayer.java
@@ -13,12 +13,12 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
-import com.google.gwt.requestfactory.shared.BaseProxy;
-import com.google.gwt.requestfactory.shared.Locator;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.ServiceLocator;
+import com.google.web.bindery.requestfactory.shared.BaseProxy;
+import com.google.web.bindery.requestfactory.shared.Locator;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.ServiceLocator;
 
 import java.lang.reflect.Method;
 import java.lang.reflect.Type;
@@ -163,7 +163,7 @@
 
   /**
    * Returns the type of object the domain type's {@code findFoo()} or
-   * {@link com.google.gwt.requestfactory.shared.Locator#getId(Object)
+   * {@link com.google.web.bindery.requestfactory.shared.Locator#getId(Object)
    * Locator.getId()} expects to receive.
    * 
    * @param domainType a domain entity type
diff --git a/user/src/com/google/gwt/requestfactory/server/ServiceLayerCache.java b/user/src/com/google/web/bindery/requestfactory/server/ServiceLayerCache.java
similarity index 97%
rename from user/src/com/google/gwt/requestfactory/server/ServiceLayerCache.java
rename to user/src/com/google/web/bindery/requestfactory/server/ServiceLayerCache.java
index 201fc62..4d8ac6e 100644
--- a/user/src/com/google/gwt/requestfactory/server/ServiceLayerCache.java
+++ b/user/src/com/google/web/bindery/requestfactory/server/ServiceLayerCache.java
@@ -13,12 +13,12 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
-import com.google.gwt.requestfactory.shared.BaseProxy;
-import com.google.gwt.requestfactory.shared.Locator;
-import com.google.gwt.requestfactory.shared.ServiceLocator;
 import com.google.gwt.rpc.server.Pair;
+import com.google.web.bindery.requestfactory.shared.BaseProxy;
+import com.google.web.bindery.requestfactory.shared.Locator;
+import com.google.web.bindery.requestfactory.shared.ServiceLocator;
 
 import java.lang.ref.SoftReference;
 import java.lang.reflect.InvocationTargetException;
diff --git a/user/src/com/google/gwt/requestfactory/server/ServiceLayerDecorator.java b/user/src/com/google/web/bindery/requestfactory/server/ServiceLayerDecorator.java
similarity index 95%
rename from user/src/com/google/gwt/requestfactory/server/ServiceLayerDecorator.java
rename to user/src/com/google/web/bindery/requestfactory/server/ServiceLayerDecorator.java
index 5d9bb4a..2bbf261 100644
--- a/user/src/com/google/gwt/requestfactory/server/ServiceLayerDecorator.java
+++ b/user/src/com/google/web/bindery/requestfactory/server/ServiceLayerDecorator.java
@@ -13,12 +13,12 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
-import com.google.gwt.requestfactory.shared.BaseProxy;
-import com.google.gwt.requestfactory.shared.Locator;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.ServiceLocator;
+import com.google.web.bindery.requestfactory.shared.BaseProxy;
+import com.google.web.bindery.requestfactory.shared.Locator;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.ServiceLocator;
 
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
@@ -217,8 +217,8 @@
    * Report an exception thrown by code that is under the control of the
    * end-developer.
    * 
-   * @param userGeneratedException an {@link InvocationTargetException} thrown
-   *          by an invocation of user-provided code
+   * @param userGeneratedException an {@link InvocationTargetException} thrown by an invocation of
+   *          user-provided code
    * @throws ReportableException this method never returns normally
    */
   protected final <T> T report(InvocationTargetException userGeneratedException)
diff --git a/user/src/com/google/gwt/requestfactory/server/SignatureAdapter.java b/user/src/com/google/web/bindery/requestfactory/server/SignatureAdapter.java
similarity index 97%
rename from user/src/com/google/gwt/requestfactory/server/SignatureAdapter.java
rename to user/src/com/google/web/bindery/requestfactory/server/SignatureAdapter.java
index ebd6299..e33cf0b 100644
--- a/user/src/com/google/gwt/requestfactory/server/SignatureAdapter.java
+++ b/user/src/com/google/web/bindery/requestfactory/server/SignatureAdapter.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
 import com.google.gwt.dev.asm.signature.SignatureVisitor;
 
diff --git a/user/src/com/google/gwt/requestfactory/server/SimpleRequestProcessor.java b/user/src/com/google/web/bindery/requestfactory/server/SimpleRequestProcessor.java
similarity index 92%
rename from user/src/com/google/gwt/requestfactory/server/SimpleRequestProcessor.java
rename to user/src/com/google/web/bindery/requestfactory/server/SimpleRequestProcessor.java
index 5eeb6b8..c09a46a 100644
--- a/user/src/com/google/gwt/requestfactory/server/SimpleRequestProcessor.java
+++ b/user/src/com/google/web/bindery/requestfactory/server/SimpleRequestProcessor.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
 import com.google.gwt.autobean.server.AutoBeanFactoryMagic;
 import com.google.gwt.autobean.server.Configuration;
@@ -24,27 +24,27 @@
 import com.google.gwt.autobean.shared.AutoBeanVisitor;
 import com.google.gwt.autobean.shared.Splittable;
 import com.google.gwt.autobean.shared.ValueCodex;
-import com.google.gwt.requestfactory.shared.BaseProxy;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
-import com.google.gwt.requestfactory.shared.InstanceRequest;
-import com.google.gwt.requestfactory.shared.Request;
-import com.google.gwt.requestfactory.shared.ServerFailure;
-import com.google.gwt.requestfactory.shared.WriteOperation;
-import com.google.gwt.requestfactory.shared.impl.BaseProxyCategory;
-import com.google.gwt.requestfactory.shared.impl.Constants;
-import com.google.gwt.requestfactory.shared.impl.EntityCodex;
-import com.google.gwt.requestfactory.shared.impl.EntityProxyCategory;
-import com.google.gwt.requestfactory.shared.impl.SimpleProxyId;
-import com.google.gwt.requestfactory.shared.impl.ValueProxyCategory;
-import com.google.gwt.requestfactory.shared.messages.IdMessage.Strength;
-import com.google.gwt.requestfactory.shared.messages.InvocationMessage;
-import com.google.gwt.requestfactory.shared.messages.MessageFactory;
-import com.google.gwt.requestfactory.shared.messages.OperationMessage;
-import com.google.gwt.requestfactory.shared.messages.RequestMessage;
-import com.google.gwt.requestfactory.shared.messages.ResponseMessage;
-import com.google.gwt.requestfactory.shared.messages.ServerFailureMessage;
-import com.google.gwt.requestfactory.shared.messages.ViolationMessage;
 import com.google.gwt.user.server.Base64Utils;
+import com.google.web.bindery.requestfactory.shared.BaseProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.InstanceRequest;
+import com.google.web.bindery.requestfactory.shared.Request;
+import com.google.web.bindery.requestfactory.shared.ServerFailure;
+import com.google.web.bindery.requestfactory.shared.WriteOperation;
+import com.google.web.bindery.requestfactory.shared.impl.BaseProxyCategory;
+import com.google.web.bindery.requestfactory.shared.impl.Constants;
+import com.google.web.bindery.requestfactory.shared.impl.EntityCodex;
+import com.google.web.bindery.requestfactory.shared.impl.EntityProxyCategory;
+import com.google.web.bindery.requestfactory.shared.impl.SimpleProxyId;
+import com.google.web.bindery.requestfactory.shared.impl.ValueProxyCategory;
+import com.google.web.bindery.requestfactory.shared.messages.InvocationMessage;
+import com.google.web.bindery.requestfactory.shared.messages.MessageFactory;
+import com.google.web.bindery.requestfactory.shared.messages.OperationMessage;
+import com.google.web.bindery.requestfactory.shared.messages.RequestMessage;
+import com.google.web.bindery.requestfactory.shared.messages.ResponseMessage;
+import com.google.web.bindery.requestfactory.shared.messages.ServerFailureMessage;
+import com.google.web.bindery.requestfactory.shared.messages.ViolationMessage;
+import com.google.web.bindery.requestfactory.shared.messages.IdMessage.Strength;
 
 import java.io.UnsupportedEncodingException;
 import java.lang.reflect.Method;
diff --git a/user/src/com/google/gwt/requestfactory/server/UnexpectedException.java b/user/src/com/google/web/bindery/requestfactory/server/UnexpectedException.java
similarity index 94%
rename from user/src/com/google/gwt/requestfactory/server/UnexpectedException.java
rename to user/src/com/google/web/bindery/requestfactory/server/UnexpectedException.java
index f6cac79..8ca35ae 100644
--- a/user/src/com/google/gwt/requestfactory/server/UnexpectedException.java
+++ b/user/src/com/google/web/bindery/requestfactory/server/UnexpectedException.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
 /**
  * Encapsulates exceptions that indicate something went wrong in RequestFactory
diff --git a/user/src/com/google/gwt/requestfactory/server/impl/FindService.java b/user/src/com/google/web/bindery/requestfactory/server/impl/FindService.java
similarity index 93%
rename from user/src/com/google/gwt/requestfactory/server/impl/FindService.java
rename to user/src/com/google/web/bindery/requestfactory/server/impl/FindService.java
index 8f467e1..66d27ba 100644
--- a/user/src/com/google/gwt/requestfactory/server/impl/FindService.java
+++ b/user/src/com/google/web/bindery/requestfactory/server/impl/FindService.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server.impl;
+package com.google.web.bindery.requestfactory.server.impl;
 
 /**
  * Server side service to support a generic find method.
diff --git a/user/src/com/google/gwt/requestfactory/server/package-info.java b/user/src/com/google/web/bindery/requestfactory/server/package-info.java
similarity index 94%
rename from user/src/com/google/gwt/requestfactory/server/package-info.java
rename to user/src/com/google/web/bindery/requestfactory/server/package-info.java
index 6d9ddab..d14e6b9 100644
--- a/user/src/com/google/gwt/requestfactory/server/package-info.java
+++ b/user/src/com/google/web/bindery/requestfactory/server/package-info.java
@@ -25,5 +25,5 @@
  * @since GWT 2.1
  */
 @com.google.gwt.util.PreventSpuriousRebuilds
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
diff --git a/user/src/com/google/gwt/requestfactory/server/testing/InProcessRequestTransport.java b/user/src/com/google/web/bindery/requestfactory/server/testing/InProcessRequestTransport.java
similarity index 78%
rename from user/src/com/google/gwt/requestfactory/server/testing/InProcessRequestTransport.java
rename to user/src/com/google/web/bindery/requestfactory/server/testing/InProcessRequestTransport.java
index b215b4f..9386e3b 100644
--- a/user/src/com/google/gwt/requestfactory/server/testing/InProcessRequestTransport.java
+++ b/user/src/com/google/web/bindery/requestfactory/server/testing/InProcessRequestTransport.java
@@ -13,14 +13,14 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server.testing;
+package com.google.web.bindery.requestfactory.server.testing;
 
-import com.google.gwt.requestfactory.server.SimpleRequestProcessor;
-import com.google.gwt.requestfactory.shared.RequestTransport;
-import com.google.gwt.requestfactory.shared.ServerFailure;
+import com.google.web.bindery.requestfactory.server.SimpleRequestProcessor;
+import com.google.web.bindery.requestfactory.shared.RequestTransport;
+import com.google.web.bindery.requestfactory.shared.ServerFailure;
 
 /**
- * A RequesTransports that calls a {@link SimpleRequestProcessor}. This test can
+ * A RequestTransport that calls a {@link SimpleRequestProcessor}. This test can
  * be used for end-to-end tests of RequestFactory service methods in non-GWT
  * test suites.
  * 
@@ -32,8 +32,8 @@
  * f.initialize(eventBus, new InProcessRequestTransport(processor));
  * </pre>
  * 
- * @see RequestFactoryMagic
- * @see com.google.gwt.requestfactory.server.ServiceLayer#create(com.google.gwt.requestfactory.server.ServiceLayerDecorator...)
+ * @see com.google.web.bindery.vm.RequestFactorySource
+ * @see com.google.web.bindery.requestfactory.server.ServiceLayer#create(com.google.gwt.requestfactory.server.ServiceLayerDecorator...)
  *      ServiceLayer.create()
  * @see com.google.gwt.event.shared.SimpleEventBus SimpleEventBus
  * @see SimpleRequestProcessor
diff --git a/user/src/com/google/gwt/requestfactory/shared/BaseProxy.java b/user/src/com/google/web/bindery/requestfactory/shared/BaseProxy.java
similarity index 93%
rename from user/src/com/google/gwt/requestfactory/shared/BaseProxy.java
rename to user/src/com/google/web/bindery/requestfactory/shared/BaseProxy.java
index 3764fc0..0dd2900 100644
--- a/user/src/com/google/gwt/requestfactory/shared/BaseProxy.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/BaseProxy.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 /**
  * The root type from which all client-side proxy objects are derived. Users
diff --git a/user/src/com/google/gwt/requestfactory/shared/DefaultProxyStore.java b/user/src/com/google/web/bindery/requestfactory/shared/DefaultProxyStore.java
similarity index 92%
rename from user/src/com/google/gwt/requestfactory/shared/DefaultProxyStore.java
rename to user/src/com/google/web/bindery/requestfactory/shared/DefaultProxyStore.java
index 26d9eef..f594bdc 100644
--- a/user/src/com/google/gwt/requestfactory/shared/DefaultProxyStore.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/DefaultProxyStore.java
@@ -13,13 +13,13 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 import com.google.gwt.autobean.shared.AutoBean;
 import com.google.gwt.autobean.shared.AutoBeanCodex;
 import com.google.gwt.autobean.shared.Splittable;
-import com.google.gwt.requestfactory.shared.impl.MessageFactoryHolder;
-import com.google.gwt.requestfactory.shared.messages.OperationMessage;
+import com.google.web.bindery.requestfactory.shared.impl.MessageFactoryHolder;
+import com.google.web.bindery.requestfactory.shared.messages.OperationMessage;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/user/src/com/google/gwt/requestfactory/shared/EntityProxy.java b/user/src/com/google/web/bindery/requestfactory/shared/EntityProxy.java
similarity index 95%
rename from user/src/com/google/gwt/requestfactory/shared/EntityProxy.java
rename to user/src/com/google/web/bindery/requestfactory/shared/EntityProxy.java
index 4bb312d..eaab4bc 100644
--- a/user/src/com/google/gwt/requestfactory/shared/EntityProxy.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/EntityProxy.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 /**
  * A proxy for a server-side domain object.
diff --git a/user/src/com/google/gwt/requestfactory/shared/EntityProxyChange.java b/user/src/com/google/web/bindery/requestfactory/shared/EntityProxyChange.java
similarity index 98%
rename from user/src/com/google/gwt/requestfactory/shared/EntityProxyChange.java
rename to user/src/com/google/web/bindery/requestfactory/shared/EntityProxyChange.java
index 0f8b1a4..12cba42 100644
--- a/user/src/com/google/gwt/requestfactory/shared/EntityProxyChange.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/EntityProxyChange.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 import com.google.gwt.event.shared.EventBus;
 import com.google.gwt.event.shared.EventHandler;
diff --git a/user/src/com/google/gwt/requestfactory/shared/EntityProxyId.java b/user/src/com/google/web/bindery/requestfactory/shared/EntityProxyId.java
similarity index 95%
rename from user/src/com/google/gwt/requestfactory/shared/EntityProxyId.java
rename to user/src/com/google/web/bindery/requestfactory/shared/EntityProxyId.java
index a64e390..5a5bd4c 100644
--- a/user/src/com/google/gwt/requestfactory/shared/EntityProxyId.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/EntityProxyId.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 /**
  * A stable, opaque id of an {@link EntityProxy} that remains stable across
diff --git a/user/src/com/google/gwt/requestfactory/shared/InstanceRequest.java b/user/src/com/google/web/bindery/requestfactory/shared/InstanceRequest.java
similarity index 95%
rename from user/src/com/google/gwt/requestfactory/shared/InstanceRequest.java
rename to user/src/com/google/web/bindery/requestfactory/shared/InstanceRequest.java
index 27e5055..fff1a78 100644
--- a/user/src/com/google/gwt/requestfactory/shared/InstanceRequest.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/InstanceRequest.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 /**
  * Used to call instance methods. Note that this does not extend {@link Request}
diff --git a/user/src/com/google/gwt/requestfactory/shared/JsonRpcContent.java b/user/src/com/google/web/bindery/requestfactory/shared/JsonRpcContent.java
similarity index 95%
rename from user/src/com/google/gwt/requestfactory/shared/JsonRpcContent.java
rename to user/src/com/google/web/bindery/requestfactory/shared/JsonRpcContent.java
index 7fe081e..ad0f7c9 100644
--- a/user/src/com/google/gwt/requestfactory/shared/JsonRpcContent.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/JsonRpcContent.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
diff --git a/user/src/com/google/gwt/requestfactory/shared/JsonRpcProxy.java b/user/src/com/google/web/bindery/requestfactory/shared/JsonRpcProxy.java
similarity index 92%
rename from user/src/com/google/gwt/requestfactory/shared/JsonRpcProxy.java
rename to user/src/com/google/web/bindery/requestfactory/shared/JsonRpcProxy.java
index 5cb7300..00ed40c 100644
--- a/user/src/com/google/gwt/requestfactory/shared/JsonRpcProxy.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/JsonRpcProxy.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 /**
  * <b>Experimental API, subject to change</b> Used instead of the
diff --git a/user/src/com/google/gwt/requestfactory/shared/JsonRpcService.java b/user/src/com/google/web/bindery/requestfactory/shared/JsonRpcService.java
similarity index 94%
rename from user/src/com/google/gwt/requestfactory/shared/JsonRpcService.java
rename to user/src/com/google/web/bindery/requestfactory/shared/JsonRpcService.java
index e147b72..2847fe9 100644
--- a/user/src/com/google/gwt/requestfactory/shared/JsonRpcService.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/JsonRpcService.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
diff --git a/user/src/com/google/gwt/requestfactory/shared/JsonRpcWireName.java b/user/src/com/google/web/bindery/requestfactory/shared/JsonRpcWireName.java
similarity index 94%
rename from user/src/com/google/gwt/requestfactory/shared/JsonRpcWireName.java
rename to user/src/com/google/web/bindery/requestfactory/shared/JsonRpcWireName.java
index 36449c4..34969ce 100644
--- a/user/src/com/google/gwt/requestfactory/shared/JsonRpcWireName.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/JsonRpcWireName.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
diff --git a/user/src/com/google/gwt/requestfactory/shared/Locator.java b/user/src/com/google/web/bindery/requestfactory/shared/Locator.java
similarity index 98%
rename from user/src/com/google/gwt/requestfactory/shared/Locator.java
rename to user/src/com/google/web/bindery/requestfactory/shared/Locator.java
index 3516984..e2c5723 100644
--- a/user/src/com/google/gwt/requestfactory/shared/Locator.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/Locator.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 /**
  * A Locator allows entity types that do not conform to the RequestFactory
diff --git a/user/src/com/google/gwt/requestfactory/shared/LoggingRequest.java b/user/src/com/google/web/bindery/requestfactory/shared/LoggingRequest.java
similarity index 91%
rename from user/src/com/google/gwt/requestfactory/shared/LoggingRequest.java
rename to user/src/com/google/web/bindery/requestfactory/shared/LoggingRequest.java
index 3dfe6d8..3cdfdb3 100644
--- a/user/src/com/google/gwt/requestfactory/shared/LoggingRequest.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/LoggingRequest.java
@@ -14,9 +14,9 @@
  * the License.
  */
 
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
-import com.google.gwt.requestfactory.server.Logging;
+import com.google.web.bindery.requestfactory.server.Logging;
 
 /**
  * "API Generated" request selector interface implemented by objects that give
diff --git a/user/src/com/google/gwt/requestfactory/shared/ProxyFor.java b/user/src/com/google/web/bindery/requestfactory/shared/ProxyFor.java
similarity index 95%
rename from user/src/com/google/gwt/requestfactory/shared/ProxyFor.java
rename to user/src/com/google/web/bindery/requestfactory/shared/ProxyFor.java
index 38f6df6..77dc4c2 100644
--- a/user/src/com/google/gwt/requestfactory/shared/ProxyFor.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/ProxyFor.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
diff --git a/user/src/com/google/gwt/requestfactory/shared/ProxyForName.java b/user/src/com/google/web/bindery/requestfactory/shared/ProxyForName.java
similarity index 95%
rename from user/src/com/google/gwt/requestfactory/shared/ProxyForName.java
rename to user/src/com/google/web/bindery/requestfactory/shared/ProxyForName.java
index 5eb5594..226e4f4 100644
--- a/user/src/com/google/gwt/requestfactory/shared/ProxyForName.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/ProxyForName.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
diff --git a/user/src/com/google/gwt/requestfactory/shared/ProxySerializer.java b/user/src/com/google/web/bindery/requestfactory/shared/ProxySerializer.java
similarity index 98%
rename from user/src/com/google/gwt/requestfactory/shared/ProxySerializer.java
rename to user/src/com/google/web/bindery/requestfactory/shared/ProxySerializer.java
index 3cfcafd..59da4c7 100644
--- a/user/src/com/google/gwt/requestfactory/shared/ProxySerializer.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/ProxySerializer.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 /**
  * Serializes graphs of EntityProxy objects. A ProxySerializer is associated
diff --git a/user/src/com/google/gwt/requestfactory/shared/ProxyStore.java b/user/src/com/google/web/bindery/requestfactory/shared/ProxyStore.java
similarity index 96%
rename from user/src/com/google/gwt/requestfactory/shared/ProxyStore.java
rename to user/src/com/google/web/bindery/requestfactory/shared/ProxyStore.java
index 412b070..4040217 100644
--- a/user/src/com/google/gwt/requestfactory/shared/ProxyStore.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/ProxyStore.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 import com.google.gwt.autobean.shared.Splittable;
 
diff --git a/user/src/com/google/gwt/requestfactory/shared/Receiver.java b/user/src/com/google/web/bindery/requestfactory/shared/Receiver.java
similarity index 96%
rename from user/src/com/google/gwt/requestfactory/shared/Receiver.java
rename to user/src/com/google/web/bindery/requestfactory/shared/Receiver.java
index a1a4fc6..1bd6fed 100644
--- a/user/src/com/google/gwt/requestfactory/shared/Receiver.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/Receiver.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 import java.util.Set;
 
diff --git a/user/src/com/google/gwt/requestfactory/shared/Request.java b/user/src/com/google/web/bindery/requestfactory/shared/Request.java
similarity index 96%
rename from user/src/com/google/gwt/requestfactory/shared/Request.java
rename to user/src/com/google/web/bindery/requestfactory/shared/Request.java
index d8190d0..7a2edbe 100644
--- a/user/src/com/google/gwt/requestfactory/shared/Request.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/Request.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 /**
  * Implemented by the request objects created by this factory.
diff --git a/user/src/com/google/gwt/requestfactory/shared/RequestContext.java b/user/src/com/google/web/bindery/requestfactory/shared/RequestContext.java
similarity index 97%
rename from user/src/com/google/gwt/requestfactory/shared/RequestContext.java
rename to user/src/com/google/web/bindery/requestfactory/shared/RequestContext.java
index c5ad7af..91e45d0 100644
--- a/user/src/com/google/gwt/requestfactory/shared/RequestContext.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/RequestContext.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 /**
  * The base interface for RequestFactory service endpoints.
diff --git a/user/src/com/google/gwt/requestfactory/shared/RequestFactory.java b/user/src/com/google/web/bindery/requestfactory/shared/RequestFactory.java
similarity index 95%
rename from user/src/com/google/gwt/requestfactory/shared/RequestFactory.java
rename to user/src/com/google/web/bindery/requestfactory/shared/RequestFactory.java
index 16d116c..7f66954 100644
--- a/user/src/com/google/gwt/requestfactory/shared/RequestFactory.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/RequestFactory.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 import com.google.gwt.event.shared.EventBus;
 
@@ -40,7 +40,7 @@
  * supertypes of value types is not supported (e.g. Object, Enum, Number).
  * </p>
  * 
- * @see com.google.gwt.requestfactory.server.testing.InProcessRequestTransport
+ * @see com.google.web.bindery.requestfactory.server.testing.InProcessRequestTransport
  */
 public interface RequestFactory {
   /**
@@ -126,7 +126,7 @@
 
   /**
    * Start this request factory with a
-   * {@link com.google.gwt.requestfactory.client.DefaultRequestTransport}.
+   * {@link com.google.web.bindery.requestfactory.gwt.client.DefaultRequestTransport}.
    * 
    * @param eventBus an {@link EventBus}
    */
diff --git a/user/src/com/google/gwt/requestfactory/shared/RequestTransport.java b/user/src/com/google/web/bindery/requestfactory/shared/RequestTransport.java
similarity index 91%
rename from user/src/com/google/gwt/requestfactory/shared/RequestTransport.java
rename to user/src/com/google/web/bindery/requestfactory/shared/RequestTransport.java
index 80e5842..53ba20b 100644
--- a/user/src/com/google/gwt/requestfactory/shared/RequestTransport.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/RequestTransport.java
@@ -13,13 +13,13 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 /**
  * Abstracts the mechanism by which a RequestFactory instance transmits its
  * payload to the backend.
  * 
- * @see com.google.gwt.requestfactory.client.DefaultRequestTransport
+ * @see com.google.web.bindery.requestfactory.gwt.client.DefaultRequestTransport
  */
 public interface RequestTransport {
   /**
diff --git a/user/src/com/google/gwt/requestfactory/shared/ServerFailure.java b/user/src/com/google/web/bindery/requestfactory/shared/ServerFailure.java
similarity index 97%
rename from user/src/com/google/gwt/requestfactory/shared/ServerFailure.java
rename to user/src/com/google/web/bindery/requestfactory/shared/ServerFailure.java
index 91f2fa8..a4721fe 100644
--- a/user/src/com/google/gwt/requestfactory/shared/ServerFailure.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/ServerFailure.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 /**
  * Describes a request failure on the server.
diff --git a/user/src/com/google/gwt/requestfactory/shared/Service.java b/user/src/com/google/web/bindery/requestfactory/shared/Service.java
similarity index 95%
rename from user/src/com/google/gwt/requestfactory/shared/Service.java
rename to user/src/com/google/web/bindery/requestfactory/shared/Service.java
index de14983..27f8b5a 100644
--- a/user/src/com/google/gwt/requestfactory/shared/Service.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/Service.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
diff --git a/user/src/com/google/gwt/requestfactory/shared/ServiceLocator.java b/user/src/com/google/web/bindery/requestfactory/shared/ServiceLocator.java
similarity index 95%
rename from user/src/com/google/gwt/requestfactory/shared/ServiceLocator.java
rename to user/src/com/google/web/bindery/requestfactory/shared/ServiceLocator.java
index dfa841d..0b53733 100644
--- a/user/src/com/google/gwt/requestfactory/shared/ServiceLocator.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/ServiceLocator.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 /**
  * A ServiceLocator provides instances of a type specified by a {@link Service}
diff --git a/user/src/com/google/gwt/requestfactory/shared/ServiceName.java b/user/src/com/google/web/bindery/requestfactory/shared/ServiceName.java
similarity index 96%
rename from user/src/com/google/gwt/requestfactory/shared/ServiceName.java
rename to user/src/com/google/web/bindery/requestfactory/shared/ServiceName.java
index 464c032..6ea2abe 100644
--- a/user/src/com/google/gwt/requestfactory/shared/ServiceName.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/ServiceName.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
diff --git a/user/src/com/google/gwt/requestfactory/shared/ValueProxy.java b/user/src/com/google/web/bindery/requestfactory/shared/ValueProxy.java
similarity index 92%
rename from user/src/com/google/gwt/requestfactory/shared/ValueProxy.java
rename to user/src/com/google/web/bindery/requestfactory/shared/ValueProxy.java
index 2882b3e..bbd7760 100644
--- a/user/src/com/google/gwt/requestfactory/shared/ValueProxy.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/ValueProxy.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 /**
  * An analog to EntityProxy for domain types that do not have an identity
diff --git a/user/src/com/google/gwt/requestfactory/shared/Violation.java b/user/src/com/google/web/bindery/requestfactory/shared/Violation.java
similarity index 96%
rename from user/src/com/google/gwt/requestfactory/shared/Violation.java
rename to user/src/com/google/web/bindery/requestfactory/shared/Violation.java
index 23466b0..3d68373 100644
--- a/user/src/com/google/gwt/requestfactory/shared/Violation.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/Violation.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 /**
  * A lightweight representation of a
diff --git a/user/src/com/google/gwt/requestfactory/shared/WriteOperation.java b/user/src/com/google/web/bindery/requestfactory/shared/WriteOperation.java
similarity index 96%
rename from user/src/com/google/gwt/requestfactory/shared/WriteOperation.java
rename to user/src/com/google/web/bindery/requestfactory/shared/WriteOperation.java
index 89b5d9c..53a9b47 100644
--- a/user/src/com/google/gwt/requestfactory/shared/WriteOperation.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/WriteOperation.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 /**
  * The enum used in {@link EntityProxyChange}.
diff --git a/user/src/com/google/gwt/requestfactory/shared/impl/AbstractRequest.java b/user/src/com/google/web/bindery/requestfactory/shared/impl/AbstractRequest.java
similarity index 86%
rename from user/src/com/google/gwt/requestfactory/shared/impl/AbstractRequest.java
rename to user/src/com/google/web/bindery/requestfactory/shared/impl/AbstractRequest.java
index 8524524..fad1919 100644
--- a/user/src/com/google/gwt/requestfactory/shared/impl/AbstractRequest.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/impl/AbstractRequest.java
@@ -13,16 +13,16 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.impl;
+package com.google.web.bindery.requestfactory.shared.impl;
 
 import com.google.gwt.autobean.shared.Splittable;
-import com.google.gwt.requestfactory.shared.BaseProxy;
-import com.google.gwt.requestfactory.shared.InstanceRequest;
-import com.google.gwt.requestfactory.shared.Receiver;
-import com.google.gwt.requestfactory.shared.Request;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.ServerFailure;
-import com.google.gwt.requestfactory.shared.Violation;
+import com.google.web.bindery.requestfactory.shared.BaseProxy;
+import com.google.web.bindery.requestfactory.shared.InstanceRequest;
+import com.google.web.bindery.requestfactory.shared.Receiver;
+import com.google.web.bindery.requestfactory.shared.Request;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.ServerFailure;
+import com.google.web.bindery.requestfactory.shared.Violation;
 
 import java.util.Arrays;
 import java.util.Collections;
diff --git a/user/src/com/google/gwt/requestfactory/shared/impl/AbstractRequestContext.java b/user/src/com/google/web/bindery/requestfactory/shared/impl/AbstractRequestContext.java
similarity index 94%
rename from user/src/com/google/gwt/requestfactory/shared/impl/AbstractRequestContext.java
rename to user/src/com/google/web/bindery/requestfactory/shared/impl/AbstractRequestContext.java
index 3d53b91..6487320 100644
--- a/user/src/com/google/gwt/requestfactory/shared/impl/AbstractRequestContext.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/impl/AbstractRequestContext.java
@@ -13,11 +13,11 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.impl;
+package com.google.web.bindery.requestfactory.shared.impl;
 
-import static com.google.gwt.requestfactory.shared.impl.BaseProxyCategory.stableId;
-import static com.google.gwt.requestfactory.shared.impl.Constants.REQUEST_CONTEXT;
-import static com.google.gwt.requestfactory.shared.impl.Constants.STABLE_ID;
+import static com.google.web.bindery.requestfactory.shared.impl.BaseProxyCategory.stableId;
+import static com.google.web.bindery.requestfactory.shared.impl.Constants.REQUEST_CONTEXT;
+import static com.google.web.bindery.requestfactory.shared.impl.Constants.STABLE_ID;
 
 import com.google.gwt.autobean.shared.AutoBean;
 import com.google.gwt.autobean.shared.AutoBeanCodex;
@@ -30,28 +30,28 @@
 import com.google.gwt.autobean.shared.impl.LazySplittable;
 import com.google.gwt.autobean.shared.impl.StringQuoter;
 import com.google.gwt.event.shared.UmbrellaException;
-import com.google.gwt.requestfactory.shared.BaseProxy;
-import com.google.gwt.requestfactory.shared.EntityProxy;
-import com.google.gwt.requestfactory.shared.EntityProxyChange;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
-import com.google.gwt.requestfactory.shared.Receiver;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.RequestTransport.TransportReceiver;
-import com.google.gwt.requestfactory.shared.ServerFailure;
-import com.google.gwt.requestfactory.shared.ValueProxy;
-import com.google.gwt.requestfactory.shared.Violation;
-import com.google.gwt.requestfactory.shared.WriteOperation;
-import com.google.gwt.requestfactory.shared.impl.posers.DatePoser;
-import com.google.gwt.requestfactory.shared.messages.IdMessage;
-import com.google.gwt.requestfactory.shared.messages.IdMessage.Strength;
-import com.google.gwt.requestfactory.shared.messages.InvocationMessage;
-import com.google.gwt.requestfactory.shared.messages.JsonRpcRequest;
-import com.google.gwt.requestfactory.shared.messages.MessageFactory;
-import com.google.gwt.requestfactory.shared.messages.OperationMessage;
-import com.google.gwt.requestfactory.shared.messages.RequestMessage;
-import com.google.gwt.requestfactory.shared.messages.ResponseMessage;
-import com.google.gwt.requestfactory.shared.messages.ServerFailureMessage;
-import com.google.gwt.requestfactory.shared.messages.ViolationMessage;
+import com.google.web.bindery.requestfactory.shared.BaseProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxyChange;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.Receiver;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.ServerFailure;
+import com.google.web.bindery.requestfactory.shared.ValueProxy;
+import com.google.web.bindery.requestfactory.shared.Violation;
+import com.google.web.bindery.requestfactory.shared.WriteOperation;
+import com.google.web.bindery.requestfactory.shared.RequestTransport.TransportReceiver;
+import com.google.web.bindery.requestfactory.shared.impl.posers.DatePoser;
+import com.google.web.bindery.requestfactory.shared.messages.IdMessage;
+import com.google.web.bindery.requestfactory.shared.messages.InvocationMessage;
+import com.google.web.bindery.requestfactory.shared.messages.JsonRpcRequest;
+import com.google.web.bindery.requestfactory.shared.messages.MessageFactory;
+import com.google.web.bindery.requestfactory.shared.messages.OperationMessage;
+import com.google.web.bindery.requestfactory.shared.messages.RequestMessage;
+import com.google.web.bindery.requestfactory.shared.messages.ResponseMessage;
+import com.google.web.bindery.requestfactory.shared.messages.ServerFailureMessage;
+import com.google.web.bindery.requestfactory.shared.messages.ViolationMessage;
+import com.google.web.bindery.requestfactory.shared.messages.IdMessage.Strength;
 
 import java.util.ArrayList;
 import java.util.Collection;
diff --git a/user/src/com/google/gwt/requestfactory/shared/impl/AbstractRequestFactory.java b/user/src/com/google/web/bindery/requestfactory/shared/impl/AbstractRequestFactory.java
similarity index 87%
rename from user/src/com/google/gwt/requestfactory/shared/impl/AbstractRequestFactory.java
rename to user/src/com/google/web/bindery/requestfactory/shared/impl/AbstractRequestFactory.java
index 3c26cf4..37a9c3d 100644
--- a/user/src/com/google/gwt/requestfactory/shared/impl/AbstractRequestFactory.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/impl/AbstractRequestFactory.java
@@ -13,17 +13,17 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.impl;
+package com.google.web.bindery.requestfactory.shared.impl;
 
 import com.google.gwt.autobean.shared.AutoBeanFactory;
 import com.google.gwt.event.shared.EventBus;
-import com.google.gwt.requestfactory.shared.EntityProxy;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
-import com.google.gwt.requestfactory.shared.ProxySerializer;
-import com.google.gwt.requestfactory.shared.ProxyStore;
-import com.google.gwt.requestfactory.shared.Request;
-import com.google.gwt.requestfactory.shared.RequestFactory;
-import com.google.gwt.requestfactory.shared.RequestTransport;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.ProxySerializer;
+import com.google.web.bindery.requestfactory.shared.ProxyStore;
+import com.google.web.bindery.requestfactory.shared.Request;
+import com.google.web.bindery.requestfactory.shared.RequestFactory;
+import com.google.web.bindery.requestfactory.shared.RequestTransport;
 
 import java.util.LinkedHashMap;
 import java.util.Map;
@@ -68,7 +68,7 @@
       @Override
       protected RequestData makeRequestData() {
         return new RequestData(
-            "com.google.gwt.requestfactory.shared.impl.FindRequest::find",
+            "com.google.web.bindery.requestfactory.shared.impl.FindRequest::find",
             new Object[] {proxyId}, propertyRefs, proxyId.getProxyClass(), null);
       }
     };
diff --git a/user/src/com/google/gwt/requestfactory/shared/impl/BaseProxyCategory.java b/user/src/com/google/web/bindery/requestfactory/shared/impl/BaseProxyCategory.java
similarity index 88%
rename from user/src/com/google/gwt/requestfactory/shared/impl/BaseProxyCategory.java
rename to user/src/com/google/web/bindery/requestfactory/shared/impl/BaseProxyCategory.java
index a1ddabf..7dea94b 100644
--- a/user/src/com/google/gwt/requestfactory/shared/impl/BaseProxyCategory.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/impl/BaseProxyCategory.java
@@ -13,14 +13,14 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.impl;
+package com.google.web.bindery.requestfactory.shared.impl;
 
-import static com.google.gwt.requestfactory.shared.impl.Constants.REQUEST_CONTEXT;
-import static com.google.gwt.requestfactory.shared.impl.Constants.STABLE_ID;
+import static com.google.web.bindery.requestfactory.shared.impl.Constants.REQUEST_CONTEXT;
+import static com.google.web.bindery.requestfactory.shared.impl.Constants.STABLE_ID;
 
 import com.google.gwt.autobean.shared.AutoBean;
 import com.google.gwt.autobean.shared.AutoBeanUtils;
-import com.google.gwt.requestfactory.shared.BaseProxy;
+import com.google.web.bindery.requestfactory.shared.BaseProxy;
 
 /**
  * Contains behaviors common to all proxy instances.
diff --git a/user/src/com/google/gwt/requestfactory/shared/impl/Constants.java b/user/src/com/google/web/bindery/requestfactory/shared/impl/Constants.java
similarity index 93%
rename from user/src/com/google/gwt/requestfactory/shared/impl/Constants.java
rename to user/src/com/google/web/bindery/requestfactory/shared/impl/Constants.java
index ec0cba6..33d914e 100644
--- a/user/src/com/google/gwt/requestfactory/shared/impl/Constants.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/impl/Constants.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.impl;
+package com.google.web.bindery.requestfactory.shared.impl;
 
 /**
  * Contains a variety of AutoBean tag constants to prevent typos.
diff --git a/user/src/com/google/gwt/requestfactory/shared/impl/EntityCodex.java b/user/src/com/google/web/bindery/requestfactory/shared/impl/EntityCodex.java
similarity index 92%
rename from user/src/com/google/gwt/requestfactory/shared/impl/EntityCodex.java
rename to user/src/com/google/web/bindery/requestfactory/shared/impl/EntityCodex.java
index 4304885..5566589 100644
--- a/user/src/com/google/gwt/requestfactory/shared/impl/EntityCodex.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/impl/EntityCodex.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.impl;
+package com.google.web.bindery.requestfactory.shared.impl;
 
 import com.google.gwt.autobean.shared.AutoBean;
 import com.google.gwt.autobean.shared.AutoBeanUtils;
@@ -21,8 +21,8 @@
 import com.google.gwt.autobean.shared.ValueCodex;
 import com.google.gwt.autobean.shared.impl.LazySplittable;
 import com.google.gwt.autobean.shared.impl.StringQuoter;
-import com.google.gwt.requestfactory.shared.BaseProxy;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.BaseProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -40,14 +40,14 @@
   public interface EntitySource {
     /**
      * Expects an encoded
-     * {@link com.google.gwt.requestfactory.shared.messages.IdMessage}.
+     * {@link com.google.web.bindery.requestfactory.shared.messages.IdMessage}.
      */
     <Q extends BaseProxy> AutoBean<Q> getBeanForPayload(
         Splittable serializedIdMessage);
 
     /**
      * Should return an encoded
-     * {@link com.google.gwt.requestfactory.shared.messages.IdMessage}.
+     * {@link com.google.web.bindery.requestfactory.shared.messages.IdMessage}.
      */
     Splittable getSerializedProxyId(SimpleProxyId<?> stableId);
 
diff --git a/user/src/com/google/gwt/requestfactory/shared/impl/EntityProxyCategory.java b/user/src/com/google/web/bindery/requestfactory/shared/impl/EntityProxyCategory.java
similarity index 86%
rename from user/src/com/google/gwt/requestfactory/shared/impl/EntityProxyCategory.java
rename to user/src/com/google/web/bindery/requestfactory/shared/impl/EntityProxyCategory.java
index 26ed7f2..bc5e04a 100644
--- a/user/src/com/google/gwt/requestfactory/shared/impl/EntityProxyCategory.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/impl/EntityProxyCategory.java
@@ -13,14 +13,14 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.impl;
+package com.google.web.bindery.requestfactory.shared.impl;
 
-import static com.google.gwt.requestfactory.shared.impl.BaseProxyCategory.requestContext;
-import static com.google.gwt.requestfactory.shared.impl.Constants.STABLE_ID;
+import static com.google.web.bindery.requestfactory.shared.impl.BaseProxyCategory.requestContext;
+import static com.google.web.bindery.requestfactory.shared.impl.Constants.STABLE_ID;
 
 import com.google.gwt.autobean.shared.AutoBean;
 import com.google.gwt.autobean.shared.AutoBeanUtils;
-import com.google.gwt.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
 
 /**
  * Contains static implementation of EntityProxy-specific methods.
diff --git a/user/src/com/google/gwt/requestfactory/shared/impl/FindRequest.java b/user/src/com/google/web/bindery/requestfactory/shared/impl/FindRequest.java
similarity index 66%
rename from user/src/com/google/gwt/requestfactory/shared/impl/FindRequest.java
rename to user/src/com/google/web/bindery/requestfactory/shared/impl/FindRequest.java
index 7888fb1..5061b7f 100644
--- a/user/src/com/google/gwt/requestfactory/shared/impl/FindRequest.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/impl/FindRequest.java
@@ -14,14 +14,14 @@
  * the License.
  */
 
-package com.google.gwt.requestfactory.shared.impl;
+package com.google.web.bindery.requestfactory.shared.impl;
 
-import com.google.gwt.requestfactory.server.impl.FindService;
-import com.google.gwt.requestfactory.shared.EntityProxy;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
-import com.google.gwt.requestfactory.shared.Request;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.Service;
+import com.google.web.bindery.requestfactory.server.impl.FindService;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.Request;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.Service;
 
 /**
  * Request selector interface for implementing a find method.
diff --git a/user/src/com/google/gwt/requestfactory/shared/impl/IdFactory.java b/user/src/com/google/web/bindery/requestfactory/shared/impl/IdFactory.java
similarity index 96%
rename from user/src/com/google/gwt/requestfactory/shared/impl/IdFactory.java
rename to user/src/com/google/web/bindery/requestfactory/shared/impl/IdFactory.java
index aa3254d..c93d893 100644
--- a/user/src/com/google/gwt/requestfactory/shared/impl/IdFactory.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/impl/IdFactory.java
@@ -13,11 +13,11 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.impl;
+package com.google.web.bindery.requestfactory.shared.impl;
 
-import com.google.gwt.requestfactory.shared.BaseProxy;
-import com.google.gwt.requestfactory.shared.EntityProxy;
-import com.google.gwt.requestfactory.shared.ValueProxy;
+import com.google.web.bindery.requestfactory.shared.BaseProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.ValueProxy;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/user/src/com/google/gwt/requestfactory/shared/impl/IdUtil.java b/user/src/com/google/web/bindery/requestfactory/shared/impl/IdUtil.java
similarity index 97%
rename from user/src/com/google/gwt/requestfactory/shared/impl/IdUtil.java
rename to user/src/com/google/web/bindery/requestfactory/shared/impl/IdUtil.java
index fd71302..148d076 100644
--- a/user/src/com/google/gwt/requestfactory/shared/impl/IdUtil.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/impl/IdUtil.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.impl;
+package com.google.web.bindery.requestfactory.shared.impl;
 
 /**
  * Common functions for slicing and dicing EntityProxy ids.
diff --git a/user/src/com/google/gwt/requestfactory/shared/impl/MessageFactoryHolder.java b/user/src/com/google/web/bindery/requestfactory/shared/impl/MessageFactoryHolder.java
similarity index 86%
rename from user/src/com/google/gwt/requestfactory/shared/impl/MessageFactoryHolder.java
rename to user/src/com/google/web/bindery/requestfactory/shared/impl/MessageFactoryHolder.java
index a36a6ae..160a2eb 100644
--- a/user/src/com/google/gwt/requestfactory/shared/impl/MessageFactoryHolder.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/impl/MessageFactoryHolder.java
@@ -13,10 +13,10 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.impl;
+package com.google.web.bindery.requestfactory.shared.impl;
 
 import com.google.gwt.autobean.server.AutoBeanFactoryMagic;
-import com.google.gwt.requestfactory.shared.messages.MessageFactory;
+import com.google.web.bindery.requestfactory.shared.messages.MessageFactory;
 
 /**
  * This class has a super-source version with a client-only implementation.
diff --git a/user/src/com/google/gwt/requestfactory/shared/impl/Poser.java b/user/src/com/google/web/bindery/requestfactory/shared/impl/Poser.java
similarity index 93%
rename from user/src/com/google/gwt/requestfactory/shared/impl/Poser.java
rename to user/src/com/google/web/bindery/requestfactory/shared/impl/Poser.java
index 0c16b50..07ba283 100644
--- a/user/src/com/google/gwt/requestfactory/shared/impl/Poser.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/impl/Poser.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.impl;
+package com.google.web.bindery.requestfactory.shared.impl;
 
 /**
  * Used to lock down mutable, non-proxy, value objects when their owning proxy
diff --git a/user/src/com/google/gwt/requestfactory/shared/impl/ProxySerializerImpl.java b/user/src/com/google/web/bindery/requestfactory/shared/impl/ProxySerializerImpl.java
similarity index 92%
rename from user/src/com/google/gwt/requestfactory/shared/impl/ProxySerializerImpl.java
rename to user/src/com/google/web/bindery/requestfactory/shared/impl/ProxySerializerImpl.java
index 1e53bbb..9b3797c 100644
--- a/user/src/com/google/gwt/requestfactory/shared/impl/ProxySerializerImpl.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/impl/ProxySerializerImpl.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.impl;
+package com.google.web.bindery.requestfactory.shared.impl;
 
 import com.google.gwt.autobean.shared.AutoBean;
 import com.google.gwt.autobean.shared.AutoBeanCodex;
@@ -21,14 +21,14 @@
 import com.google.gwt.autobean.shared.AutoBeanUtils;
 import com.google.gwt.autobean.shared.AutoBeanVisitor;
 import com.google.gwt.autobean.shared.Splittable;
-import com.google.gwt.requestfactory.shared.BaseProxy;
-import com.google.gwt.requestfactory.shared.EntityProxy;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
-import com.google.gwt.requestfactory.shared.ProxySerializer;
-import com.google.gwt.requestfactory.shared.ProxyStore;
-import com.google.gwt.requestfactory.shared.messages.IdMessage;
-import com.google.gwt.requestfactory.shared.messages.IdMessage.Strength;
-import com.google.gwt.requestfactory.shared.messages.OperationMessage;
+import com.google.web.bindery.requestfactory.shared.BaseProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.ProxySerializer;
+import com.google.web.bindery.requestfactory.shared.ProxyStore;
+import com.google.web.bindery.requestfactory.shared.messages.IdMessage;
+import com.google.web.bindery.requestfactory.shared.messages.OperationMessage;
+import com.google.web.bindery.requestfactory.shared.messages.IdMessage.Strength;
 
 import java.util.Collection;
 import java.util.HashMap;
diff --git a/user/src/com/google/gwt/requestfactory/shared/impl/RequestData.java b/user/src/com/google/web/bindery/requestfactory/shared/impl/RequestData.java
similarity index 95%
rename from user/src/com/google/gwt/requestfactory/shared/impl/RequestData.java
rename to user/src/com/google/web/bindery/requestfactory/shared/impl/RequestData.java
index db66e2c..e8b0959 100644
--- a/user/src/com/google/gwt/requestfactory/shared/impl/RequestData.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/impl/RequestData.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.impl;
+package com.google.web.bindery.requestfactory.shared.impl;
 
 import java.util.Collections;
 import java.util.HashMap;
@@ -112,7 +112,7 @@
   /**
    * Represents the {@code request} object in a JSON-RPC request.
    * 
-   * @see com.google.gwt.requestfactory.shared.JsonRpcContent
+   * @see com.google.web.bindery.requestfactory.shared.JsonRpcContent
    */
   public void setRequestContent(Object requestContent) {
     this.requestContent = requestContent;
diff --git a/user/src/com/google/gwt/requestfactory/shared/impl/SimpleEntityProxyId.java b/user/src/com/google/web/bindery/requestfactory/shared/impl/SimpleEntityProxyId.java
similarity index 86%
rename from user/src/com/google/gwt/requestfactory/shared/impl/SimpleEntityProxyId.java
rename to user/src/com/google/web/bindery/requestfactory/shared/impl/SimpleEntityProxyId.java
index 027a1d6..77d7451 100644
--- a/user/src/com/google/gwt/requestfactory/shared/impl/SimpleEntityProxyId.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/impl/SimpleEntityProxyId.java
@@ -13,10 +13,10 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.impl;
+package com.google.web.bindery.requestfactory.shared.impl;
 
-import com.google.gwt.requestfactory.shared.EntityProxy;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
 
 /**
  * Extends SimpleProxyId with the correct parameterization to implement
diff --git a/user/src/com/google/gwt/requestfactory/shared/impl/SimpleProxyId.java b/user/src/com/google/web/bindery/requestfactory/shared/impl/SimpleProxyId.java
similarity index 97%
rename from user/src/com/google/gwt/requestfactory/shared/impl/SimpleProxyId.java
rename to user/src/com/google/web/bindery/requestfactory/shared/impl/SimpleProxyId.java
index dce3a15..a1946d0 100644
--- a/user/src/com/google/gwt/requestfactory/shared/impl/SimpleProxyId.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/impl/SimpleProxyId.java
@@ -13,9 +13,9 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.impl;
+package com.google.web.bindery.requestfactory.shared.impl;
 
-import com.google.gwt.requestfactory.shared.BaseProxy;
+import com.google.web.bindery.requestfactory.shared.BaseProxy;
 
 /**
  * The base implementation of id objects in the RequestFactory system. This type
diff --git a/user/src/com/google/gwt/requestfactory/shared/impl/TypeLibrary.java b/user/src/com/google/web/bindery/requestfactory/shared/impl/TypeLibrary.java
similarity index 96%
rename from user/src/com/google/gwt/requestfactory/shared/impl/TypeLibrary.java
rename to user/src/com/google/web/bindery/requestfactory/shared/impl/TypeLibrary.java
index 7234528..1d3d969 100644
--- a/user/src/com/google/gwt/requestfactory/shared/impl/TypeLibrary.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/impl/TypeLibrary.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.impl;
+package com.google.web.bindery.requestfactory.shared.impl;
 
 import java.math.BigDecimal;
 import java.math.BigInteger;
diff --git a/user/src/com/google/gwt/requestfactory/shared/impl/ValueProxyCategory.java b/user/src/com/google/web/bindery/requestfactory/shared/impl/ValueProxyCategory.java
similarity index 88%
rename from user/src/com/google/gwt/requestfactory/shared/impl/ValueProxyCategory.java
rename to user/src/com/google/web/bindery/requestfactory/shared/impl/ValueProxyCategory.java
index 5550921..775673a 100644
--- a/user/src/com/google/gwt/requestfactory/shared/impl/ValueProxyCategory.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/impl/ValueProxyCategory.java
@@ -13,13 +13,13 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.impl;
+package com.google.web.bindery.requestfactory.shared.impl;
 
-import static com.google.gwt.requestfactory.shared.impl.BaseProxyCategory.stableId;
+import static com.google.web.bindery.requestfactory.shared.impl.BaseProxyCategory.stableId;
 
 import com.google.gwt.autobean.shared.AutoBean;
 import com.google.gwt.autobean.shared.AutoBeanUtils;
-import com.google.gwt.requestfactory.shared.ValueProxy;
+import com.google.web.bindery.requestfactory.shared.ValueProxy;
 
 /**
  * Contains static implementation of ValueProxy-specific methods.
diff --git a/user/src/com/google/gwt/requestfactory/shared/impl/posers/DatePoser.java b/user/src/com/google/web/bindery/requestfactory/shared/impl/posers/DatePoser.java
similarity index 93%
rename from user/src/com/google/gwt/requestfactory/shared/impl/posers/DatePoser.java
rename to user/src/com/google/web/bindery/requestfactory/shared/impl/posers/DatePoser.java
index 403ebc3..3d71032 100644
--- a/user/src/com/google/gwt/requestfactory/shared/impl/posers/DatePoser.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/impl/posers/DatePoser.java
@@ -13,9 +13,9 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.impl.posers;
+package com.google.web.bindery.requestfactory.shared.impl.posers;
 
-import com.google.gwt.requestfactory.shared.impl.Poser;
+import com.google.web.bindery.requestfactory.shared.impl.Poser;
 
 import java.util.Date;
 
diff --git a/user/src/com/google/gwt/requestfactory/shared/messages/IdMessage.java b/user/src/com/google/web/bindery/requestfactory/shared/messages/IdMessage.java
similarity index 96%
rename from user/src/com/google/gwt/requestfactory/shared/messages/IdMessage.java
rename to user/src/com/google/web/bindery/requestfactory/shared/messages/IdMessage.java
index 2b8919b..48e42b2 100644
--- a/user/src/com/google/gwt/requestfactory/shared/messages/IdMessage.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/messages/IdMessage.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.messages;
+package com.google.web.bindery.requestfactory.shared.messages;
 
 import com.google.gwt.autobean.shared.AutoBean.PropertyName;
 
diff --git a/user/src/com/google/gwt/requestfactory/shared/messages/InvocationMessage.java b/user/src/com/google/web/bindery/requestfactory/shared/messages/InvocationMessage.java
similarity index 95%
rename from user/src/com/google/gwt/requestfactory/shared/messages/InvocationMessage.java
rename to user/src/com/google/web/bindery/requestfactory/shared/messages/InvocationMessage.java
index 0bd07e2..38a124f 100644
--- a/user/src/com/google/gwt/requestfactory/shared/messages/InvocationMessage.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/messages/InvocationMessage.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.messages;
+package com.google.web.bindery.requestfactory.shared.messages;
 
 import com.google.gwt.autobean.shared.AutoBean.PropertyName;
 import com.google.gwt.autobean.shared.Splittable;
diff --git a/user/src/com/google/gwt/requestfactory/shared/messages/JsonRpcRequest.java b/user/src/com/google/web/bindery/requestfactory/shared/messages/JsonRpcRequest.java
similarity index 94%
rename from user/src/com/google/gwt/requestfactory/shared/messages/JsonRpcRequest.java
rename to user/src/com/google/web/bindery/requestfactory/shared/messages/JsonRpcRequest.java
index 063f315..399a214 100644
--- a/user/src/com/google/gwt/requestfactory/shared/messages/JsonRpcRequest.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/messages/JsonRpcRequest.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.messages;
+package com.google.web.bindery.requestfactory.shared.messages;
 
 import com.google.gwt.autobean.shared.AutoBean.PropertyName;
 import com.google.gwt.autobean.shared.Splittable;
diff --git a/user/src/com/google/gwt/requestfactory/shared/messages/MessageFactory.java b/user/src/com/google/web/bindery/requestfactory/shared/messages/MessageFactory.java
similarity index 94%
rename from user/src/com/google/gwt/requestfactory/shared/messages/MessageFactory.java
rename to user/src/com/google/web/bindery/requestfactory/shared/messages/MessageFactory.java
index c38216e..09fe6d6 100644
--- a/user/src/com/google/gwt/requestfactory/shared/messages/MessageFactory.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/messages/MessageFactory.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.messages;
+package com.google.web.bindery.requestfactory.shared.messages;
 
 import com.google.gwt.autobean.shared.AutoBean;
 import com.google.gwt.autobean.shared.AutoBeanFactory;
diff --git a/user/src/com/google/gwt/requestfactory/shared/messages/OperationMessage.java b/user/src/com/google/web/bindery/requestfactory/shared/messages/OperationMessage.java
similarity index 90%
rename from user/src/com/google/gwt/requestfactory/shared/messages/OperationMessage.java
rename to user/src/com/google/web/bindery/requestfactory/shared/messages/OperationMessage.java
index c57c934..0fff04f 100644
--- a/user/src/com/google/gwt/requestfactory/shared/messages/OperationMessage.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/messages/OperationMessage.java
@@ -13,11 +13,11 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.messages;
+package com.google.web.bindery.requestfactory.shared.messages;
 
 import com.google.gwt.autobean.shared.Splittable;
 import com.google.gwt.autobean.shared.AutoBean.PropertyName;
-import com.google.gwt.requestfactory.shared.WriteOperation;
+import com.google.web.bindery.requestfactory.shared.WriteOperation;
 
 import java.util.Map;
 
diff --git a/user/src/com/google/gwt/requestfactory/shared/messages/RequestMessage.java b/user/src/com/google/web/bindery/requestfactory/shared/messages/RequestMessage.java
similarity index 94%
rename from user/src/com/google/gwt/requestfactory/shared/messages/RequestMessage.java
rename to user/src/com/google/web/bindery/requestfactory/shared/messages/RequestMessage.java
index 660f50c..d8dc38d 100644
--- a/user/src/com/google/gwt/requestfactory/shared/messages/RequestMessage.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/messages/RequestMessage.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.messages;
+package com.google.web.bindery.requestfactory.shared.messages;
 
 import com.google.gwt.autobean.shared.AutoBean.PropertyName;
 
diff --git a/user/src/com/google/gwt/requestfactory/shared/messages/ResponseMessage.java b/user/src/com/google/web/bindery/requestfactory/shared/messages/ResponseMessage.java
similarity index 96%
rename from user/src/com/google/gwt/requestfactory/shared/messages/ResponseMessage.java
rename to user/src/com/google/web/bindery/requestfactory/shared/messages/ResponseMessage.java
index 2555ea5..08d9a91 100644
--- a/user/src/com/google/gwt/requestfactory/shared/messages/ResponseMessage.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/messages/ResponseMessage.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.messages;
+package com.google.web.bindery.requestfactory.shared.messages;
 
 import com.google.gwt.autobean.shared.AutoBean.PropertyName;
 import com.google.gwt.autobean.shared.Splittable;
diff --git a/user/src/com/google/gwt/requestfactory/shared/messages/ServerFailureMessage.java b/user/src/com/google/web/bindery/requestfactory/shared/messages/ServerFailureMessage.java
similarity index 95%
rename from user/src/com/google/gwt/requestfactory/shared/messages/ServerFailureMessage.java
rename to user/src/com/google/web/bindery/requestfactory/shared/messages/ServerFailureMessage.java
index 27a5007..cda32c3 100644
--- a/user/src/com/google/gwt/requestfactory/shared/messages/ServerFailureMessage.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/messages/ServerFailureMessage.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.messages;
+package com.google.web.bindery.requestfactory.shared.messages;
 
 import com.google.gwt.autobean.shared.AutoBean.PropertyName;
 
diff --git a/user/src/com/google/gwt/requestfactory/shared/messages/VersionedMessage.java b/user/src/com/google/web/bindery/requestfactory/shared/messages/VersionedMessage.java
similarity index 93%
rename from user/src/com/google/gwt/requestfactory/shared/messages/VersionedMessage.java
rename to user/src/com/google/web/bindery/requestfactory/shared/messages/VersionedMessage.java
index e216e37..ea3d06b 100644
--- a/user/src/com/google/gwt/requestfactory/shared/messages/VersionedMessage.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/messages/VersionedMessage.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.messages;
+package com.google.web.bindery.requestfactory.shared.messages;
 
 import com.google.gwt.autobean.shared.AutoBean.PropertyName;
 
diff --git a/user/src/com/google/gwt/requestfactory/shared/messages/ViolationMessage.java b/user/src/com/google/web/bindery/requestfactory/shared/messages/ViolationMessage.java
similarity index 93%
rename from user/src/com/google/gwt/requestfactory/shared/messages/ViolationMessage.java
rename to user/src/com/google/web/bindery/requestfactory/shared/messages/ViolationMessage.java
index b891ac0..e7b86d2 100644
--- a/user/src/com/google/gwt/requestfactory/shared/messages/ViolationMessage.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/messages/ViolationMessage.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.messages;
+package com.google.web.bindery.requestfactory.shared.messages;
 
 import com.google.gwt.autobean.shared.AutoBean.PropertyName;
 
diff --git a/user/src/com/google/gwt/requestfactory/shared/messages/package-info.java b/user/src/com/google/web/bindery/requestfactory/shared/messages/package-info.java
similarity index 91%
rename from user/src/com/google/gwt/requestfactory/shared/messages/package-info.java
rename to user/src/com/google/web/bindery/requestfactory/shared/messages/package-info.java
index b396dfc..80b060d 100644
--- a/user/src/com/google/gwt/requestfactory/shared/messages/package-info.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/messages/package-info.java
@@ -20,5 +20,5 @@
  * @since GWT 2.1.1
  */
 @com.google.gwt.util.PreventSpuriousRebuilds
-package com.google.gwt.requestfactory.shared.messages;
+package com.google.web.bindery.requestfactory.shared.messages;
 
diff --git a/user/src/com/google/gwt/requestfactory/shared/package-info.java b/user/src/com/google/web/bindery/requestfactory/shared/package-info.java
similarity index 85%
rename from user/src/com/google/gwt/requestfactory/shared/package-info.java
rename to user/src/com/google/web/bindery/requestfactory/shared/package-info.java
index 3d5c70e..837f728 100644
--- a/user/src/com/google/gwt/requestfactory/shared/package-info.java
+++ b/user/src/com/google/web/bindery/requestfactory/shared/package-info.java
@@ -15,9 +15,10 @@
  */
 
 /**
- * Shared classes used on both the client and the server side for transmitting data between the sever and the client in JSON format.
+ * Shared classes used on both the client and the server side for transmitting data between the
+ * server and the client in JSON format.
  *
  * @since GWT 2.1
  */
 @com.google.gwt.util.PreventSpuriousRebuilds
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
diff --git a/user/src/com/google/gwt/requestfactory/server/testing/InProcessRequestContext.java b/user/src/com/google/web/bindery/requestfactory/vm/InProcessRequestContext.java
similarity index 90%
rename from user/src/com/google/gwt/requestfactory/server/testing/InProcessRequestContext.java
rename to user/src/com/google/web/bindery/requestfactory/vm/InProcessRequestContext.java
index 3ef94cf..cd63ab9 100644
--- a/user/src/com/google/gwt/requestfactory/server/testing/InProcessRequestContext.java
+++ b/user/src/com/google/web/bindery/requestfactory/vm/InProcessRequestContext.java
@@ -13,21 +13,21 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server.testing;
+package com.google.web.bindery.requestfactory.vm;
 
 import com.google.gwt.autobean.server.impl.BeanMethod;
 import com.google.gwt.autobean.server.impl.TypeUtils;
 import com.google.gwt.autobean.shared.AutoBean.PropertyName;
 import com.google.gwt.autobean.shared.AutoBeanFactory;
-import com.google.gwt.requestfactory.shared.InstanceRequest;
-import com.google.gwt.requestfactory.shared.JsonRpcContent;
-import com.google.gwt.requestfactory.shared.JsonRpcWireName;
-import com.google.gwt.requestfactory.shared.Request;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.impl.AbstractRequest;
-import com.google.gwt.requestfactory.shared.impl.AbstractRequestContext;
-import com.google.gwt.requestfactory.shared.impl.AbstractRequestFactory;
-import com.google.gwt.requestfactory.shared.impl.RequestData;
+import com.google.web.bindery.requestfactory.shared.InstanceRequest;
+import com.google.web.bindery.requestfactory.shared.JsonRpcContent;
+import com.google.web.bindery.requestfactory.shared.JsonRpcWireName;
+import com.google.web.bindery.requestfactory.shared.Request;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.impl.AbstractRequest;
+import com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext;
+import com.google.web.bindery.requestfactory.shared.impl.AbstractRequestFactory;
+import com.google.web.bindery.requestfactory.shared.impl.RequestData;
 
 import java.lang.annotation.Annotation;
 import java.lang.reflect.InvocationHandler;
diff --git a/user/src/com/google/gwt/requestfactory/server/testing/InProcessRequestFactory.java b/user/src/com/google/web/bindery/requestfactory/vm/InProcessRequestFactory.java
similarity index 77%
rename from user/src/com/google/gwt/requestfactory/server/testing/InProcessRequestFactory.java
rename to user/src/com/google/web/bindery/requestfactory/vm/InProcessRequestFactory.java
index 836fb1a..718c324 100644
--- a/user/src/com/google/gwt/requestfactory/server/testing/InProcessRequestFactory.java
+++ b/user/src/com/google/web/bindery/requestfactory/vm/InProcessRequestFactory.java
@@ -13,26 +13,26 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server.testing;
+package com.google.web.bindery.requestfactory.vm;
 
 import com.google.gwt.autobean.server.AutoBeanFactoryMagic;
 import com.google.gwt.autobean.shared.AutoBeanFactory;
 import com.google.gwt.autobean.shared.AutoBeanFactory.Category;
 import com.google.gwt.autobean.shared.AutoBeanFactory.NoWrap;
 import com.google.gwt.event.shared.EventBus;
-import com.google.gwt.requestfactory.server.testing.InProcessRequestContext.RequestContextHandler;
-import com.google.gwt.requestfactory.shared.BaseProxy;
-import com.google.gwt.requestfactory.shared.EntityProxy;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
-import com.google.gwt.requestfactory.shared.JsonRpcService;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.RequestFactory;
-import com.google.gwt.requestfactory.shared.ValueProxy;
-import com.google.gwt.requestfactory.shared.impl.AbstractRequestContext.Dialect;
-import com.google.gwt.requestfactory.shared.impl.AbstractRequestFactory;
-import com.google.gwt.requestfactory.shared.impl.BaseProxyCategory;
-import com.google.gwt.requestfactory.shared.impl.EntityProxyCategory;
-import com.google.gwt.requestfactory.shared.impl.ValueProxyCategory;
+import com.google.web.bindery.requestfactory.shared.BaseProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.JsonRpcService;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.RequestFactory;
+import com.google.web.bindery.requestfactory.shared.ValueProxy;
+import com.google.web.bindery.requestfactory.shared.impl.AbstractRequestFactory;
+import com.google.web.bindery.requestfactory.shared.impl.BaseProxyCategory;
+import com.google.web.bindery.requestfactory.shared.impl.EntityProxyCategory;
+import com.google.web.bindery.requestfactory.shared.impl.ValueProxyCategory;
+import com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext.Dialect;
+import com.google.web.bindery.requestfactory.vm.InProcessRequestContext.RequestContextHandler;
 
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.InvocationTargetException;
diff --git a/user/src/com/google/gwt/requestfactory/server/testing/RequestFactoryMagic.java b/user/src/com/google/web/bindery/requestfactory/vm/RequestFactorySource.java
similarity index 74%
rename from user/src/com/google/gwt/requestfactory/server/testing/RequestFactoryMagic.java
rename to user/src/com/google/web/bindery/requestfactory/vm/RequestFactorySource.java
index 3d1286d..6ac518e 100644
--- a/user/src/com/google/gwt/requestfactory/server/testing/RequestFactoryMagic.java
+++ b/user/src/com/google/web/bindery/requestfactory/vm/RequestFactorySource.java
@@ -13,23 +13,25 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server.testing;
+package com.google.web.bindery.requestfactory.vm;
 
-import com.google.gwt.requestfactory.server.testing.InProcessRequestFactory.RequestFactoryHandler;
-import com.google.gwt.requestfactory.shared.RequestFactory;
+import com.google.web.bindery.requestfactory.shared.RequestFactory;
+import com.google.web.bindery.requestfactory.vm.InProcessRequestFactory.RequestFactoryHandler;
 
 import java.lang.reflect.Proxy;
 
 /**
  * Create JRE-compatible instances of a RequestFactory interface.
+ * 
+ * <span style='color: red'>This is experimental, unsupported code.</span>
  */
-public class RequestFactoryMagic {
+public class RequestFactorySource {
   /**
    * Create an instance of a RequestFactory. The returned RequestFactory must be
    * initialized with an explicit
-   * {@link com.google.gwt.requestfactory.shared.RequestTransport
+   * {@link com.google.web.bindery.requestfactory.shared.RequestTransport
    * RequestTransport} via the
-   * {@link RequestFactory#initialize(com.google.gwt.event.shared.EventBus, com.google.gwt.requestfactory.shared.RequestTransport)
+   * {@link RequestFactory#initialize(com.google.gwt.event.shared.EventBus, com.google.web.bindery.requestfactory.shared.RequestTransport)
    * initialize(EventBus, RequestTransport} method.
    * 
    * @param <T> the RequestFactory type
@@ -44,6 +46,6 @@
         new Class<?>[] {requestFactory}, handler));
   }
 
-  private RequestFactoryMagic() {
+  private RequestFactorySource() {
   }
 }
diff --git a/user/src/com/google/gwt/requestfactory/shared/messages/package-info.java b/user/src/com/google/web/bindery/requestfactory/vm/package-info.java
similarity index 76%
copy from user/src/com/google/gwt/requestfactory/shared/messages/package-info.java
copy to user/src/com/google/web/bindery/requestfactory/vm/package-info.java
index b396dfc..f78d89f 100644
--- a/user/src/com/google/gwt/requestfactory/shared/messages/package-info.java
+++ b/user/src/com/google/web/bindery/requestfactory/vm/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2010 Google Inc.
+ * Copyright 2011 Google Inc.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
  * use this file except in compliance with the License. You may obtain a copy of
@@ -15,10 +15,9 @@
  */
 
 /**
- * Contains classes that define the RequestFactory wire format.
- * 
- * @since GWT 2.1.1
+ * Classes to use RequestFactory in a non-GWT (e.g., Android or desktop) JRE environment. 
+ *
+ * @since GWT 2.3
  */
 @com.google.gwt.util.PreventSpuriousRebuilds
-package com.google.gwt.requestfactory.shared.messages;
-
+package com.google.web.bindery.requestfactory.vm;
diff --git a/user/super/com/google/gwt/requestfactory/super/com/google/gwt/requestfactory/shared/impl/MessageFactoryHolder.java b/user/super/com/google/web/bindery/requestfactory/super/com/google/web/bindery/requestfactory/shared/impl/MessageFactoryHolder.java
similarity index 85%
rename from user/super/com/google/gwt/requestfactory/super/com/google/gwt/requestfactory/shared/impl/MessageFactoryHolder.java
rename to user/super/com/google/web/bindery/requestfactory/super/com/google/web/bindery/requestfactory/shared/impl/MessageFactoryHolder.java
index b3729d6..1745d79 100644
--- a/user/super/com/google/gwt/requestfactory/super/com/google/gwt/requestfactory/shared/impl/MessageFactoryHolder.java
+++ b/user/super/com/google/web/bindery/requestfactory/super/com/google/web/bindery/requestfactory/shared/impl/MessageFactoryHolder.java
@@ -13,10 +13,10 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.impl;
+package com.google.web.bindery.requestfactory.shared.impl;
 
 import com.google.gwt.core.client.GWT;
-import com.google.gwt.requestfactory.shared.messages.MessageFactory;
+import com.google.web.bindery.requestfactory.shared.messages.MessageFactory;
 
 /**
  * This a super-source version with a client-only implementation.
diff --git a/user/test/com/google/gwt/editor/rebind/model/EditorModelTest.java b/user/test/com/google/gwt/editor/rebind/model/EditorModelTest.java
index e390c3f..1f1e329 100644
--- a/user/test/com/google/gwt/editor/rebind/model/EditorModelTest.java
+++ b/user/test/com/google/gwt/editor/rebind/model/EditorModelTest.java
@@ -39,14 +39,14 @@
 import com.google.gwt.editor.client.ValueAwareEditor;
 import com.google.gwt.editor.client.adapters.SimpleEditor;
 import com.google.gwt.event.shared.EventBus;
-import com.google.gwt.requestfactory.client.RequestFactoryEditorDriver;
-import com.google.gwt.requestfactory.shared.EntityProxy;
-import com.google.gwt.requestfactory.shared.Request;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.RequestFactory;
-import com.google.gwt.requestfactory.shared.Violation;
 import com.google.gwt.user.client.TakesValue;
 import com.google.gwt.user.client.ui.HasText;
+import com.google.web.bindery.requestfactory.gwt.client.RequestFactoryEditorDriver;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.Request;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.RequestFactory;
+import com.google.web.bindery.requestfactory.shared.Violation;
 
 import junit.framework.TestCase;
 
diff --git a/user/test/com/google/gwt/requestfactory/RequestFactoryExceptionHandlerTest.gwt.xml b/user/test/com/google/web/bindery/requestfactory/gwt/RequestFactoryExceptionHandlerTest.gwt.xml
similarity index 85%
rename from user/test/com/google/gwt/requestfactory/RequestFactoryExceptionHandlerTest.gwt.xml
rename to user/test/com/google/web/bindery/requestfactory/gwt/RequestFactoryExceptionHandlerTest.gwt.xml
index 39c7db2..32645c8 100644
--- a/user/test/com/google/gwt/requestfactory/RequestFactoryExceptionHandlerTest.gwt.xml
+++ b/user/test/com/google/web/bindery/requestfactory/gwt/RequestFactoryExceptionHandlerTest.gwt.xml
@@ -16,10 +16,10 @@
   the License.
 -->
 <module>
-  <inherits name='com.google.gwt.requestfactory.RequestFactory'/>
+  <inherits name='com.google.web.bindery.requestfactory.RequestFactory'/>
   <!-- use this old inefficient JSON library just for the time being, replace soon -->
   <inherits name='com.google.gwt.junit.JUnit'/>
   <inherits name='com.google.gwt.json.JSON'/>
   <servlet path='/gwtRequest'
-    class='com.google.gwt.requestfactory.server.RequestFactoryExceptionHandlerServlet' />
+    class='com.google.web.bindery.requestfactory.server.RequestFactoryExceptionHandlerServlet' />
 </module>
diff --git a/user/test/com/google/gwt/requestfactory/RequestFactoryJreSuite.java b/user/test/com/google/web/bindery/requestfactory/gwt/RequestFactoryGwtJreSuite.java
similarity index 61%
copy from user/test/com/google/gwt/requestfactory/RequestFactoryJreSuite.java
copy to user/test/com/google/web/bindery/requestfactory/gwt/RequestFactoryGwtJreSuite.java
index 06285d8..c8c61d1 100644
--- a/user/test/com/google/gwt/requestfactory/RequestFactoryJreSuite.java
+++ b/user/test/com/google/web/bindery/requestfactory/gwt/RequestFactoryGwtJreSuite.java
@@ -13,19 +13,19 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory;
+package com.google.web.bindery.requestfactory.gwt;
 
-import com.google.gwt.requestfactory.rebind.model.RequestFactoryModelTest;
-import com.google.gwt.requestfactory.server.BoxesAndPrimitivesJreTest;
-import com.google.gwt.requestfactory.server.ComplexKeysJreTest;
-import com.google.gwt.requestfactory.server.FindServiceJreTest;
-import com.google.gwt.requestfactory.server.LocatorJreTest;
-import com.google.gwt.requestfactory.server.RequestFactoryExceptionPropagationJreTest;
-import com.google.gwt.requestfactory.server.RequestFactoryInterfaceValidatorTest;
-import com.google.gwt.requestfactory.server.RequestFactoryJreTest;
-import com.google.gwt.requestfactory.server.RequestFactoryUnicodeEscapingJreTest;
-import com.google.gwt.requestfactory.server.ServiceInheritanceJreTest;
-import com.google.gwt.requestfactory.shared.impl.SimpleEntityProxyIdTest;
+import com.google.web.bindery.requestfactory.gwt.rebind.model.RequestFactoryModelTest;
+import com.google.web.bindery.requestfactory.server.BoxesAndPrimitivesJreTest;
+import com.google.web.bindery.requestfactory.server.ComplexKeysJreTest;
+import com.google.web.bindery.requestfactory.server.FindServiceJreTest;
+import com.google.web.bindery.requestfactory.server.LocatorJreTest;
+import com.google.web.bindery.requestfactory.server.RequestFactoryExceptionPropagationJreTest;
+import com.google.web.bindery.requestfactory.server.RequestFactoryInterfaceValidatorTest;
+import com.google.web.bindery.requestfactory.server.RequestFactoryJreTest;
+import com.google.web.bindery.requestfactory.server.RequestFactoryUnicodeEscapingJreTest;
+import com.google.web.bindery.requestfactory.server.ServiceInheritanceJreTest;
+import com.google.web.bindery.requestfactory.shared.impl.SimpleEntityProxyIdTest;
 
 import junit.framework.Test;
 import junit.framework.TestSuite;
@@ -38,7 +38,7 @@
  * or edit the Eclipse launch config and add the src folder to the classpath
  * (click Classpath tab, User entries, Advanced..., Add folders)
  */
-public class RequestFactoryJreSuite {
+public class RequestFactoryGwtJreSuite {
   public static Test suite() {
     TestSuite suite = new TestSuite(
         "requestfactory package tests that require the JRE");
@@ -53,6 +53,14 @@
     suite.addTestSuite(RequestFactoryUnicodeEscapingJreTest.class);
     suite.addTestSuite(ServiceInheritanceJreTest.class);
     suite.addTestSuite(SimpleEntityProxyIdTest.class);
+
     return suite;
   }
+
+  /**
+   * Used to test the client package.
+   */
+  public static void main(String[] args) {
+    junit.textui.TestRunner.run(suite());
+  }
 }
diff --git a/user/test/com/google/gwt/requestfactory/RequestFactorySuite.gwt.xml b/user/test/com/google/web/bindery/requestfactory/gwt/RequestFactorySuite.gwt.xml
similarity index 86%
rename from user/test/com/google/gwt/requestfactory/RequestFactorySuite.gwt.xml
rename to user/test/com/google/web/bindery/requestfactory/gwt/RequestFactorySuite.gwt.xml
index 9f08596..51a99f4 100644
--- a/user/test/com/google/gwt/requestfactory/RequestFactorySuite.gwt.xml
+++ b/user/test/com/google/web/bindery/requestfactory/gwt/RequestFactorySuite.gwt.xml
@@ -16,10 +16,10 @@
   the License.
 -->
 <module>
-  <inherits name='com.google.gwt.requestfactory.RequestFactory'/>
+  <inherits name='com.google.web.bindery.requestfactory.RequestFactory'/>
   <!-- use this old inefficient JSON library just for the time being, replace soon -->
   <inherits name='com.google.gwt.junit.JUnit'/>
   <inherits name='com.google.gwt.json.JSON'/>
   <servlet path='/gwtRequest'
-    class='com.google.gwt.requestfactory.server.RequestFactoryServlet' />
+    class='com.google.web.bindery.requestfactory.server.RequestFactoryServlet' />
 </module>
diff --git a/user/test/com/google/gwt/requestfactory/RequestFactorySuite.java b/user/test/com/google/web/bindery/requestfactory/gwt/RequestFactorySuite.java
similarity index 62%
rename from user/test/com/google/gwt/requestfactory/RequestFactorySuite.java
rename to user/test/com/google/web/bindery/requestfactory/gwt/RequestFactorySuite.java
index 6131e63..5794598 100644
--- a/user/test/com/google/gwt/requestfactory/RequestFactorySuite.java
+++ b/user/test/com/google/web/bindery/requestfactory/gwt/RequestFactorySuite.java
@@ -13,20 +13,20 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory;
+package com.google.web.bindery.requestfactory.gwt;
 
 import com.google.gwt.junit.tools.GWTTestSuite;
-import com.google.gwt.requestfactory.client.FindServiceTest;
-import com.google.gwt.requestfactory.client.RequestFactoryExceptionHandlerTest;
-import com.google.gwt.requestfactory.client.RequestFactoryExceptionPropagationTest;
-import com.google.gwt.requestfactory.client.RequestFactoryPolymorphicTest;
-import com.google.gwt.requestfactory.client.RequestFactoryTest;
-import com.google.gwt.requestfactory.client.RequestFactoryUnicodeEscapingTest;
-import com.google.gwt.requestfactory.client.ui.EditorTest;
-import com.google.gwt.requestfactory.shared.BoxesAndPrimitivesTest;
-import com.google.gwt.requestfactory.shared.ComplexKeysTest;
-import com.google.gwt.requestfactory.shared.LocatorTest;
-import com.google.gwt.requestfactory.shared.ServiceInheritanceTest;
+import com.google.web.bindery.requestfactory.gwt.client.FindServiceTest;
+import com.google.web.bindery.requestfactory.gwt.client.RequestFactoryExceptionHandlerTest;
+import com.google.web.bindery.requestfactory.gwt.client.RequestFactoryExceptionPropagationTest;
+import com.google.web.bindery.requestfactory.gwt.client.RequestFactoryPolymorphicTest;
+import com.google.web.bindery.requestfactory.gwt.client.RequestFactoryTest;
+import com.google.web.bindery.requestfactory.gwt.client.RequestFactoryUnicodeEscapingTest;
+import com.google.web.bindery.requestfactory.gwt.client.ui.EditorTest;
+import com.google.web.bindery.requestfactory.shared.BoxesAndPrimitivesTest;
+import com.google.web.bindery.requestfactory.shared.ComplexKeysTest;
+import com.google.web.bindery.requestfactory.shared.LocatorTest;
+import com.google.web.bindery.requestfactory.shared.ServiceInheritanceTest;
 
 import junit.framework.Test;
 
diff --git a/user/test/com/google/gwt/requestfactory/client/FindServiceTest.java b/user/test/com/google/web/bindery/requestfactory/gwt/client/FindServiceTest.java
similarity index 89%
rename from user/test/com/google/gwt/requestfactory/client/FindServiceTest.java
rename to user/test/com/google/web/bindery/requestfactory/gwt/client/FindServiceTest.java
index 1967839..de1aab9 100644
--- a/user/test/com/google/gwt/requestfactory/client/FindServiceTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/gwt/client/FindServiceTest.java
@@ -13,21 +13,21 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.client;
+package com.google.web.bindery.requestfactory.gwt.client;
 
 import com.google.gwt.event.shared.HandlerRegistration;
-import com.google.gwt.requestfactory.shared.EntityProxyChange;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
-import com.google.gwt.requestfactory.shared.Receiver;
-import com.google.gwt.requestfactory.shared.Request;
-import com.google.gwt.requestfactory.shared.SimpleBarProxy;
-import com.google.gwt.requestfactory.shared.SimpleBarRequest;
-import com.google.gwt.requestfactory.shared.SimpleFooProxy;
-import com.google.gwt.requestfactory.shared.SimpleFooRequest;
-import com.google.gwt.requestfactory.shared.SimpleRequestFactory;
+import com.google.web.bindery.requestfactory.shared.EntityProxyChange;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.Receiver;
+import com.google.web.bindery.requestfactory.shared.Request;
+import com.google.web.bindery.requestfactory.shared.SimpleBarProxy;
+import com.google.web.bindery.requestfactory.shared.SimpleBarRequest;
+import com.google.web.bindery.requestfactory.shared.SimpleFooProxy;
+import com.google.web.bindery.requestfactory.shared.SimpleFooRequest;
+import com.google.web.bindery.requestfactory.shared.SimpleRequestFactory;
 
 /**
- * Tests for {@link com.google.gwt.requestfactory.shared.RequestFactory}.
+ * Tests for {@link com.google.web.bindery.requestfactory.shared.RequestFactory}.
  */
 public class FindServiceTest extends RequestFactoryTestBase {
   /*
@@ -38,7 +38,7 @@
 
   @Override
   public String getModuleName() {
-    return "com.google.gwt.requestfactory.RequestFactorySuite";
+    return "com.google.web.bindery.requestfactory.gwt.RequestFactorySuite";
   }
 
   public void testFetchDeletedEntity() {
@@ -234,7 +234,7 @@
     assertEquals(42, (int) response.getIntId());
     assertEquals("GWT", response.getUserName());
     assertEquals(8L, (long) response.getLongField());
-    assertEquals(com.google.gwt.requestfactory.shared.SimpleEnum.FOO,
+    assertEquals(com.google.web.bindery.requestfactory.shared.SimpleEnum.FOO,
         response.getEnumField());
     if (checkForRelations) {
       assertNotNull(response.getBarField());
diff --git a/user/test/com/google/gwt/requestfactory/client/RequestFactoryExceptionHandlerTest.java b/user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryExceptionHandlerTest.java
similarity index 84%
rename from user/test/com/google/gwt/requestfactory/client/RequestFactoryExceptionHandlerTest.java
rename to user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryExceptionHandlerTest.java
index a8b9371..16a7b96 100644
--- a/user/test/com/google/gwt/requestfactory/client/RequestFactoryExceptionHandlerTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryExceptionHandlerTest.java
@@ -13,11 +13,11 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.client;
+package com.google.web.bindery.requestfactory.gwt.client;
 
-import com.google.gwt.requestfactory.shared.Request;
-import com.google.gwt.requestfactory.shared.SimpleFooProxy;
-import com.google.gwt.requestfactory.shared.SimpleFooRequest;
+import com.google.web.bindery.requestfactory.shared.Request;
+import com.google.web.bindery.requestfactory.shared.SimpleFooProxy;
+import com.google.web.bindery.requestfactory.shared.SimpleFooRequest;
 
 /**
  * Tests that {@code RequestFactoryServlet} when using a custom
@@ -29,7 +29,7 @@
 
   @Override
   public String getModuleName() {
-    return "com.google.gwt.requestfactory.RequestFactoryExceptionHandlerTest";
+    return "com.google.web.bindery.requestfactory.gwt.RequestFactoryExceptionHandlerTest";
   }
 
   @Override
diff --git a/user/test/com/google/gwt/requestfactory/client/RequestFactoryExceptionPropagationTest.java b/user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryExceptionPropagationTest.java
similarity index 94%
rename from user/test/com/google/gwt/requestfactory/client/RequestFactoryExceptionPropagationTest.java
rename to user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryExceptionPropagationTest.java
index dbeb250..45cf3d8 100644
--- a/user/test/com/google/gwt/requestfactory/client/RequestFactoryExceptionPropagationTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryExceptionPropagationTest.java
@@ -13,16 +13,16 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.client;
+package com.google.web.bindery.requestfactory.gwt.client;
 
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.event.shared.UmbrellaException;
-import com.google.gwt.requestfactory.shared.Receiver;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.ServerFailure;
-import com.google.gwt.requestfactory.shared.SimpleFooProxy;
-import com.google.gwt.requestfactory.shared.SimpleFooRequest;
-import com.google.gwt.requestfactory.shared.Violation;
+import com.google.web.bindery.requestfactory.shared.Receiver;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.ServerFailure;
+import com.google.web.bindery.requestfactory.shared.SimpleFooProxy;
+import com.google.web.bindery.requestfactory.shared.SimpleFooRequest;
+import com.google.web.bindery.requestfactory.shared.Violation;
 
 import java.util.Set;
 
@@ -93,7 +93,7 @@
 
   @Override
   public String getModuleName() {
-    return "com.google.gwt.requestfactory.RequestFactorySuite";
+    return "com.google.web.bindery.requestfactory.gwt.RequestFactorySuite";
   }
 
   @Override
diff --git a/user/test/com/google/gwt/requestfactory/client/RequestFactoryPolymorphicTest.java b/user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryPolymorphicTest.java
similarity index 77%
rename from user/test/com/google/gwt/requestfactory/client/RequestFactoryPolymorphicTest.java
rename to user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryPolymorphicTest.java
index 16f0336..1e0fa52 100644
--- a/user/test/com/google/gwt/requestfactory/client/RequestFactoryPolymorphicTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryPolymorphicTest.java
@@ -13,25 +13,25 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.client;
+package com.google.web.bindery.requestfactory.gwt.client;
 
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.event.shared.EventBus;
 import com.google.gwt.event.shared.SimpleEventBus;
 import com.google.gwt.junit.client.GWTTestCase;
-import com.google.gwt.requestfactory.shared.SimpleFooProxy;
-import com.google.gwt.requestfactory.shared.TestRequestFactory;
+import com.google.web.bindery.requestfactory.shared.SimpleFooProxy;
+import com.google.web.bindery.requestfactory.shared.TestRequestFactory;
 
 /**
  * Just tests the
- * {@link com.google.gwt.requestfactory.rebind.RequestFactoryGenerator} to see
+ * {@link com.google.web.bindery.requestfactory.gwt.rebind.RequestFactoryGenerator} to see
  * if polymorphic signatures are allowed.
  */
 public class RequestFactoryPolymorphicTest extends GWTTestCase {
 
   @Override
   public String getModuleName() {
-    return "com.google.gwt.requestfactory.RequestFactorySuite";
+    return "com.google.web.bindery.requestfactory.gwt.RequestFactorySuite";
   }
 
   public void testGenerator() {
@@ -42,4 +42,4 @@
         SimpleFooProxy.class);
     assertNull(simpleFoo.getUserName());
   }
-}
\ No newline at end of file
+}
diff --git a/user/test/com/google/gwt/requestfactory/client/RequestFactoryTest.java b/user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryTest.java
similarity index 97%
rename from user/test/com/google/gwt/requestfactory/client/RequestFactoryTest.java
rename to user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryTest.java
index 699ed40..6b6f4fd 100644
--- a/user/test/com/google/gwt/requestfactory/client/RequestFactoryTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryTest.java
@@ -13,26 +13,26 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.client;
+package com.google.web.bindery.requestfactory.gwt.client;
 
-import com.google.gwt.requestfactory.shared.EntityProxy;
-import com.google.gwt.requestfactory.shared.EntityProxyChange;
-import com.google.gwt.requestfactory.shared.EntityProxyId;
-import com.google.gwt.requestfactory.shared.OnlyUsedByRequestContextMethod;
-import com.google.gwt.requestfactory.shared.OnlyUsedInListProxy;
-import com.google.gwt.requestfactory.shared.Receiver;
-import com.google.gwt.requestfactory.shared.Request;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.ServerFailure;
-import com.google.gwt.requestfactory.shared.SimpleBarProxy;
-import com.google.gwt.requestfactory.shared.SimpleBarRequest;
-import com.google.gwt.requestfactory.shared.SimpleEnum;
-import com.google.gwt.requestfactory.shared.SimpleFooProxy;
-import com.google.gwt.requestfactory.shared.SimpleFooRequest;
-import com.google.gwt.requestfactory.shared.SimpleValueContext;
-import com.google.gwt.requestfactory.shared.SimpleValueProxy;
-import com.google.gwt.requestfactory.shared.Violation;
-import com.google.gwt.requestfactory.shared.impl.SimpleEntityProxyId;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxyChange;
+import com.google.web.bindery.requestfactory.shared.EntityProxyId;
+import com.google.web.bindery.requestfactory.shared.OnlyUsedByRequestContextMethod;
+import com.google.web.bindery.requestfactory.shared.OnlyUsedInListProxy;
+import com.google.web.bindery.requestfactory.shared.Receiver;
+import com.google.web.bindery.requestfactory.shared.Request;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.ServerFailure;
+import com.google.web.bindery.requestfactory.shared.SimpleBarProxy;
+import com.google.web.bindery.requestfactory.shared.SimpleBarRequest;
+import com.google.web.bindery.requestfactory.shared.SimpleEnum;
+import com.google.web.bindery.requestfactory.shared.SimpleFooProxy;
+import com.google.web.bindery.requestfactory.shared.SimpleFooRequest;
+import com.google.web.bindery.requestfactory.shared.SimpleValueContext;
+import com.google.web.bindery.requestfactory.shared.SimpleValueProxy;
+import com.google.web.bindery.requestfactory.shared.Violation;
+import com.google.web.bindery.requestfactory.shared.impl.SimpleEntityProxyId;
 
 import java.math.BigDecimal;
 import java.math.BigInteger;
@@ -48,7 +48,7 @@
 import java.util.Set;
 
 /**
- * Tests for {@link com.google.gwt.requestfactory.shared.RequestFactory}.
+ * Tests for {@link com.google.web.bindery.requestfactory.shared.RequestFactory}.
  */
 public class RequestFactoryTest extends RequestFactoryTestBase {
   /*
@@ -202,7 +202,7 @@
 
   @Override
   public String getModuleName() {
-    return "com.google.gwt.requestfactory.RequestFactorySuite";
+    return "com.google.web.bindery.requestfactory.gwt.RequestFactorySuite";
   }
 
   /**
@@ -538,7 +538,7 @@
             assertEquals(42, (int) response.getIntId());
             assertEquals("GWT", response.getUserName());
             assertEquals(8L, (long) response.getLongField());
-            assertEquals(com.google.gwt.requestfactory.shared.SimpleEnum.FOO,
+            assertEquals(com.google.web.bindery.requestfactory.shared.SimpleEnum.FOO,
                 response.getEnumField());
             assertEquals(null, response.getBarField());
             finishTestAndReset();
@@ -556,7 +556,7 @@
             assertEquals(42, (int) response.getIntId());
             assertEquals("GWT", response.getUserName());
             assertEquals(8L, (long) response.getLongField());
-            assertEquals(com.google.gwt.requestfactory.shared.SimpleEnum.FOO,
+            assertEquals(com.google.web.bindery.requestfactory.shared.SimpleEnum.FOO,
                 response.getEnumField());
             assertNotNull(response.getBarField());
             finishTestAndReset();
@@ -573,7 +573,7 @@
         assertEquals(42, (int) response.getIntId());
         assertEquals("GWT", response.getUserName());
         assertEquals(8L, (long) response.getLongField());
-        assertEquals(com.google.gwt.requestfactory.shared.SimpleEnum.FOO,
+        assertEquals(com.google.web.bindery.requestfactory.shared.SimpleEnum.FOO,
             response.getEnumField());
         finishTestAndReset();
       }
diff --git a/user/test/com/google/gwt/requestfactory/client/RequestFactoryTestBase.java b/user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryTestBase.java
similarity index 86%
rename from user/test/com/google/gwt/requestfactory/client/RequestFactoryTestBase.java
rename to user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryTestBase.java
index 0ed2282..17958d7 100644
--- a/user/test/com/google/gwt/requestfactory/client/RequestFactoryTestBase.java
+++ b/user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryTestBase.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.client;
+package com.google.web.bindery.requestfactory.gwt.client;
 
 import com.google.gwt.autobean.shared.AutoBean;
 import com.google.gwt.autobean.shared.AutoBeanUtils;
@@ -21,16 +21,16 @@
 import com.google.gwt.event.shared.EventBus;
 import com.google.gwt.event.shared.SimpleEventBus;
 import com.google.gwt.junit.client.GWTTestCase;
-import com.google.gwt.requestfactory.shared.BaseProxy;
-import com.google.gwt.requestfactory.shared.DefaultProxyStore;
-import com.google.gwt.requestfactory.shared.EntityProxy;
-import com.google.gwt.requestfactory.shared.EntityProxyChange;
-import com.google.gwt.requestfactory.shared.ProxySerializer;
-import com.google.gwt.requestfactory.shared.Receiver;
-import com.google.gwt.requestfactory.shared.SimpleRequestFactory;
-import com.google.gwt.requestfactory.shared.impl.BaseProxyCategory;
-import com.google.gwt.requestfactory.shared.impl.Constants;
-import com.google.gwt.requestfactory.shared.impl.SimpleProxyId;
+import com.google.web.bindery.requestfactory.shared.BaseProxy;
+import com.google.web.bindery.requestfactory.shared.DefaultProxyStore;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxyChange;
+import com.google.web.bindery.requestfactory.shared.ProxySerializer;
+import com.google.web.bindery.requestfactory.shared.Receiver;
+import com.google.web.bindery.requestfactory.shared.SimpleRequestFactory;
+import com.google.web.bindery.requestfactory.shared.impl.BaseProxyCategory;
+import com.google.web.bindery.requestfactory.shared.impl.Constants;
+import com.google.web.bindery.requestfactory.shared.impl.SimpleProxyId;
 
 /**
  * A base class for anything that makes use of the SimpleRequestFactory.
diff --git a/user/test/com/google/gwt/requestfactory/client/RequestFactoryUnicodeEscapingTest.java b/user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryUnicodeEscapingTest.java
similarity index 94%
rename from user/test/com/google/gwt/requestfactory/client/RequestFactoryUnicodeEscapingTest.java
rename to user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryUnicodeEscapingTest.java
index afdc2a3..3a334b2 100644
--- a/user/test/com/google/gwt/requestfactory/client/RequestFactoryUnicodeEscapingTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryUnicodeEscapingTest.java
@@ -13,12 +13,12 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.client;
+package com.google.web.bindery.requestfactory.gwt.client;
 
-import com.google.gwt.requestfactory.shared.Receiver;
-import com.google.gwt.requestfactory.shared.ServerFailure;
 import com.google.gwt.user.client.rpc.UnicodeEscapingService.InvalidCharacterException;
 import com.google.gwt.user.client.rpc.UnicodeEscapingTest;
+import com.google.web.bindery.requestfactory.shared.Receiver;
+import com.google.web.bindery.requestfactory.shared.ServerFailure;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -116,7 +116,7 @@
 
   @Override
   public String getModuleName() {
-    return "com.google.gwt.requestfactory.RequestFactorySuite";
+    return "com.google.web.bindery.requestfactory.gwt.RequestFactorySuite";
   }
 
   public void testClientToServerBMPHigh() throws InvalidCharacterException {
diff --git a/user/test/com/google/gwt/requestfactory/client/SimpleRequestFactoryInstance.java b/user/test/com/google/web/bindery/requestfactory/gwt/client/SimpleRequestFactoryInstance.java
similarity index 88%
rename from user/test/com/google/gwt/requestfactory/client/SimpleRequestFactoryInstance.java
rename to user/test/com/google/web/bindery/requestfactory/gwt/client/SimpleRequestFactoryInstance.java
index eaba281..daaf415 100644
--- a/user/test/com/google/gwt/requestfactory/client/SimpleRequestFactoryInstance.java
+++ b/user/test/com/google/web/bindery/requestfactory/gwt/client/SimpleRequestFactoryInstance.java
@@ -13,11 +13,11 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.client;
+package com.google.web.bindery.requestfactory.gwt.client;
 
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.event.shared.SimpleEventBus;
-import com.google.gwt.requestfactory.shared.SimpleRequestFactory;
+import com.google.web.bindery.requestfactory.shared.SimpleRequestFactory;
 
 /**
  * Easy access for RequestFactory tests.
diff --git a/user/test/com/google/gwt/requestfactory/client/ui/EditorTest.java b/user/test/com/google/web/bindery/requestfactory/gwt/client/ui/EditorTest.java
similarity index 92%
rename from user/test/com/google/gwt/requestfactory/client/ui/EditorTest.java
rename to user/test/com/google/web/bindery/requestfactory/gwt/client/ui/EditorTest.java
index 42ed8ec..66b8cc2 100644
--- a/user/test/com/google/gwt/requestfactory/client/ui/EditorTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/gwt/client/ui/EditorTest.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.client.ui;
+package com.google.web.bindery.requestfactory.gwt.client.ui;
 
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.core.client.Scheduler;
@@ -26,16 +26,16 @@
 import com.google.gwt.editor.client.adapters.EditorSource;
 import com.google.gwt.editor.client.adapters.ListEditor;
 import com.google.gwt.editor.client.adapters.SimpleEditor;
-import com.google.gwt.requestfactory.client.HasRequestContext;
-import com.google.gwt.requestfactory.client.RequestFactoryEditorDriver;
-import com.google.gwt.requestfactory.client.RequestFactoryTestBase;
-import com.google.gwt.requestfactory.shared.Receiver;
-import com.google.gwt.requestfactory.shared.Request;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.SimpleBarProxy;
-import com.google.gwt.requestfactory.shared.SimpleFooProxy;
-import com.google.gwt.requestfactory.shared.SimpleFooRequest;
-import com.google.gwt.requestfactory.shared.Violation;
+import com.google.web.bindery.requestfactory.gwt.client.HasRequestContext;
+import com.google.web.bindery.requestfactory.gwt.client.RequestFactoryEditorDriver;
+import com.google.web.bindery.requestfactory.gwt.client.RequestFactoryTestBase;
+import com.google.web.bindery.requestfactory.shared.Receiver;
+import com.google.web.bindery.requestfactory.shared.Request;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.SimpleBarProxy;
+import com.google.web.bindery.requestfactory.shared.SimpleFooProxy;
+import com.google.web.bindery.requestfactory.shared.SimpleFooRequest;
+import com.google.web.bindery.requestfactory.shared.Violation;
 
 import java.util.Arrays;
 import java.util.List;
@@ -122,7 +122,7 @@
 
   @Override
   public String getModuleName() {
-    return "com.google.gwt.requestfactory.RequestFactorySuite";
+    return "com.google.web.bindery.requestfactory.gwt.RequestFactorySuite";
   }
 
   public void test() {
diff --git a/user/test/com/google/gwt/requestfactory/rebind/model/RequestFactoryModelTest.java b/user/test/com/google/web/bindery/requestfactory/gwt/rebind/model/RequestFactoryModelTest.java
similarity index 91%
rename from user/test/com/google/gwt/requestfactory/rebind/model/RequestFactoryModelTest.java
rename to user/test/com/google/web/bindery/requestfactory/gwt/rebind/model/RequestFactoryModelTest.java
index 2cb275b..c548a6c 100644
--- a/user/test/com/google/gwt/requestfactory/rebind/model/RequestFactoryModelTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/gwt/rebind/model/RequestFactoryModelTest.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.rebind.model;
+package com.google.web.bindery.requestfactory.gwt.rebind.model;
 
 import com.google.gwt.autobean.shared.Splittable;
 import com.google.gwt.core.ext.TreeLogger;
@@ -26,18 +26,18 @@
 import com.google.gwt.dev.util.UnitTestTreeLogger;
 import com.google.gwt.dev.util.Util;
 import com.google.gwt.dev.util.log.PrintWriterTreeLogger;
-import com.google.gwt.requestfactory.server.TestContextImpl;
-import com.google.gwt.requestfactory.shared.EntityProxy;
-import com.google.gwt.requestfactory.shared.InstanceRequest;
-import com.google.gwt.requestfactory.shared.Locator;
-import com.google.gwt.requestfactory.shared.ProxyFor;
-import com.google.gwt.requestfactory.shared.Receiver;
-import com.google.gwt.requestfactory.shared.Request;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.RequestFactory;
-import com.google.gwt.requestfactory.shared.Service;
-import com.google.gwt.requestfactory.shared.ServiceLocator;
-import com.google.gwt.requestfactory.shared.ValueProxy;
+import com.google.web.bindery.requestfactory.server.TestContextImpl;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.InstanceRequest;
+import com.google.web.bindery.requestfactory.shared.Locator;
+import com.google.web.bindery.requestfactory.shared.ProxyFor;
+import com.google.web.bindery.requestfactory.shared.Receiver;
+import com.google.web.bindery.requestfactory.shared.Request;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.RequestFactory;
+import com.google.web.bindery.requestfactory.shared.Service;
+import com.google.web.bindery.requestfactory.shared.ServiceLocator;
+import com.google.web.bindery.requestfactory.shared.ValueProxy;
 
 import junit.framework.TestCase;
 
@@ -51,7 +51,7 @@
 
 /**
  * Test case for
- * {@link com.google.gwt.requestfactory.rebind.model.RequestFactoryModel} that
+ * {@link com.google.web.bindery.requestfactory.gwt.rebind.model.RequestFactoryModel} that
  * uses mock CompilationStates.
  */
 public class RequestFactoryModelTest extends TestCase {
@@ -106,6 +106,7 @@
       String resourceName = getTypeName().replace('.', '/') + ".java";
       InputStream stream = Thread.currentThread().getContextClassLoader().getResourceAsStream(
           resourceName);
+      assertNotNull("Could not open " + resourceName, stream);
       return Util.readStreamAsString(stream);
     }
   }
@@ -239,6 +240,7 @@
         }
         code.append("interface TestProxy extends EntityProxy {\n");
         code.append("}");
+        System.out.println(code);
         return code;
       }
     }, new MockJavaResource("t.ProxyWithRepeatedGetters") {
diff --git a/user/test/com/google/gwt/requestfactory/server/BoxesAndPrimitivesJreTest.java b/user/test/com/google/web/bindery/requestfactory/server/BoxesAndPrimitivesJreTest.java
similarity index 87%
rename from user/test/com/google/gwt/requestfactory/server/BoxesAndPrimitivesJreTest.java
rename to user/test/com/google/web/bindery/requestfactory/server/BoxesAndPrimitivesJreTest.java
index c8b178f..74e26a4 100644
--- a/user/test/com/google/gwt/requestfactory/server/BoxesAndPrimitivesJreTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/server/BoxesAndPrimitivesJreTest.java
@@ -13,17 +13,17 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
 import com.google.gwt.dev.asm.Type;
 import com.google.gwt.dev.asm.commons.Method;
-import com.google.gwt.requestfactory.server.RequestFactoryInterfaceValidatorTest.VisibleErrorContext;
-import com.google.gwt.requestfactory.shared.BoxesAndPrimitivesTest;
-import com.google.gwt.requestfactory.shared.EntityProxy;
-import com.google.gwt.requestfactory.shared.ProxyFor;
-import com.google.gwt.requestfactory.shared.Request;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.Service;
+import com.google.web.bindery.requestfactory.server.RequestFactoryInterfaceValidatorTest.VisibleErrorContext;
+import com.google.web.bindery.requestfactory.shared.BoxesAndPrimitivesTest;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.ProxyFor;
+import com.google.web.bindery.requestfactory.shared.Request;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.Service;
 
 import java.util.Arrays;
 import java.util.logging.Logger;
diff --git a/user/test/com/google/gwt/requestfactory/server/ComplexKeysJreTest.java b/user/test/com/google/web/bindery/requestfactory/server/ComplexKeysJreTest.java
similarity index 87%
rename from user/test/com/google/gwt/requestfactory/server/ComplexKeysJreTest.java
rename to user/test/com/google/web/bindery/requestfactory/server/ComplexKeysJreTest.java
index e7bcaeb..44454a2 100644
--- a/user/test/com/google/gwt/requestfactory/server/ComplexKeysJreTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/server/ComplexKeysJreTest.java
@@ -13,9 +13,9 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
-import com.google.gwt.requestfactory.shared.ComplexKeysTest;
+import com.google.web.bindery.requestfactory.shared.ComplexKeysTest;
 
 /**
  * JRE version of ComplexKeysTest.
diff --git a/user/test/com/google/gwt/requestfactory/server/FindServiceJreTest.java b/user/test/com/google/web/bindery/requestfactory/server/FindServiceJreTest.java
similarity index 81%
rename from user/test/com/google/gwt/requestfactory/server/FindServiceJreTest.java
rename to user/test/com/google/web/bindery/requestfactory/server/FindServiceJreTest.java
index 1169ec7..d8fa59c 100644
--- a/user/test/com/google/gwt/requestfactory/server/FindServiceJreTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/server/FindServiceJreTest.java
@@ -13,10 +13,10 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
-import com.google.gwt.requestfactory.client.FindServiceTest;
-import com.google.gwt.requestfactory.shared.SimpleRequestFactory;
+import com.google.web.bindery.requestfactory.gwt.client.FindServiceTest;
+import com.google.web.bindery.requestfactory.shared.SimpleRequestFactory;
 
 /**
  * Run the FindService tests in-process.
diff --git a/user/test/com/google/gwt/requestfactory/server/HasId.java b/user/test/com/google/web/bindery/requestfactory/server/HasId.java
similarity index 92%
rename from user/test/com/google/gwt/requestfactory/server/HasId.java
rename to user/test/com/google/web/bindery/requestfactory/server/HasId.java
index b715b52..23b4c53 100644
--- a/user/test/com/google/gwt/requestfactory/server/HasId.java
+++ b/user/test/com/google/web/bindery/requestfactory/server/HasId.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
 /**
  * Used to test covariant return types.
diff --git a/user/test/com/google/gwt/requestfactory/server/InstanceService.java b/user/test/com/google/web/bindery/requestfactory/server/InstanceService.java
similarity index 93%
rename from user/test/com/google/gwt/requestfactory/server/InstanceService.java
rename to user/test/com/google/web/bindery/requestfactory/server/InstanceService.java
index 9d9c940..26f5139 100644
--- a/user/test/com/google/gwt/requestfactory/server/InstanceService.java
+++ b/user/test/com/google/web/bindery/requestfactory/server/InstanceService.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
 /**
  * A service API that doesn't have static methods and that can't be
diff --git a/user/test/com/google/gwt/requestfactory/server/InstanceServiceImpl.java b/user/test/com/google/web/bindery/requestfactory/server/InstanceServiceImpl.java
similarity index 94%
rename from user/test/com/google/gwt/requestfactory/server/InstanceServiceImpl.java
rename to user/test/com/google/web/bindery/requestfactory/server/InstanceServiceImpl.java
index e2dd226..cd509b3 100644
--- a/user/test/com/google/gwt/requestfactory/server/InstanceServiceImpl.java
+++ b/user/test/com/google/web/bindery/requestfactory/server/InstanceServiceImpl.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
 /**
  * A service API that doesn't have static methods and that can't be
diff --git a/user/test/com/google/gwt/requestfactory/server/InstanceServiceLocator.java b/user/test/com/google/web/bindery/requestfactory/server/InstanceServiceLocator.java
similarity index 87%
rename from user/test/com/google/gwt/requestfactory/server/InstanceServiceLocator.java
rename to user/test/com/google/web/bindery/requestfactory/server/InstanceServiceLocator.java
index e5a5b9e..131da3a 100644
--- a/user/test/com/google/gwt/requestfactory/server/InstanceServiceLocator.java
+++ b/user/test/com/google/web/bindery/requestfactory/server/InstanceServiceLocator.java
@@ -13,9 +13,9 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
-import com.google.gwt.requestfactory.shared.ServiceLocator;
+import com.google.web.bindery.requestfactory.shared.ServiceLocator;
 
 /**
  * Demonstrates instance-based service objects.
diff --git a/user/test/com/google/gwt/requestfactory/server/LocatorJreTest.java b/user/test/com/google/web/bindery/requestfactory/server/LocatorJreTest.java
similarity index 87%
rename from user/test/com/google/gwt/requestfactory/server/LocatorJreTest.java
rename to user/test/com/google/web/bindery/requestfactory/server/LocatorJreTest.java
index fdaa741..d500bf9 100644
--- a/user/test/com/google/gwt/requestfactory/server/LocatorJreTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/server/LocatorJreTest.java
@@ -13,9 +13,9 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
-import com.google.gwt.requestfactory.shared.LocatorTest;
+import com.google.web.bindery.requestfactory.shared.LocatorTest;
 
 /**
  * A JRE version of {@link LocatorTest}.
diff --git a/user/test/com/google/gwt/requestfactory/server/RequestFactoryExceptionHandlerServlet.java b/user/test/com/google/web/bindery/requestfactory/server/RequestFactoryExceptionHandlerServlet.java
similarity index 89%
rename from user/test/com/google/gwt/requestfactory/server/RequestFactoryExceptionHandlerServlet.java
rename to user/test/com/google/web/bindery/requestfactory/server/RequestFactoryExceptionHandlerServlet.java
index 1bdcc6d..a76d2b6 100644
--- a/user/test/com/google/gwt/requestfactory/server/RequestFactoryExceptionHandlerServlet.java
+++ b/user/test/com/google/web/bindery/requestfactory/server/RequestFactoryExceptionHandlerServlet.java
@@ -13,9 +13,9 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
-import com.google.gwt.requestfactory.shared.ServerFailure;
+import com.google.web.bindery.requestfactory.shared.ServerFailure;
 
 /**
  * A RequestFactoryServlet that forwards all exception information.
diff --git a/user/test/com/google/gwt/requestfactory/server/RequestFactoryExceptionPropagationJreTest.java b/user/test/com/google/web/bindery/requestfactory/server/RequestFactoryExceptionPropagationJreTest.java
similarity index 79%
rename from user/test/com/google/gwt/requestfactory/server/RequestFactoryExceptionPropagationJreTest.java
rename to user/test/com/google/web/bindery/requestfactory/server/RequestFactoryExceptionPropagationJreTest.java
index 49b5652..90eede7 100644
--- a/user/test/com/google/gwt/requestfactory/server/RequestFactoryExceptionPropagationJreTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/server/RequestFactoryExceptionPropagationJreTest.java
@@ -13,13 +13,13 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
 import com.google.gwt.core.client.GWT;
-import com.google.gwt.requestfactory.client.RequestFactoryExceptionPropagationTest;
-import com.google.gwt.requestfactory.shared.Receiver;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.SimpleRequestFactory;
+import com.google.web.bindery.requestfactory.gwt.client.RequestFactoryExceptionPropagationTest;
+import com.google.web.bindery.requestfactory.shared.Receiver;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.SimpleRequestFactory;
 
 /**
  * JRE version of {@link RequestFactoryExceptionPropagationTest}.
diff --git a/user/test/com/google/gwt/requestfactory/server/RequestFactoryInterfaceValidatorTest.java b/user/test/com/google/web/bindery/requestfactory/server/RequestFactoryInterfaceValidatorTest.java
similarity index 89%
rename from user/test/com/google/gwt/requestfactory/server/RequestFactoryInterfaceValidatorTest.java
rename to user/test/com/google/web/bindery/requestfactory/server/RequestFactoryInterfaceValidatorTest.java
index e6a4e10..98fa37d 100644
--- a/user/test/com/google/gwt/requestfactory/server/RequestFactoryInterfaceValidatorTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/server/RequestFactoryInterfaceValidatorTest.java
@@ -13,22 +13,22 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
-import com.google.gwt.requestfactory.server.RequestFactoryInterfaceValidator.ClassLoaderLoader;
-import com.google.gwt.requestfactory.shared.EntityProxy;
-import com.google.gwt.requestfactory.shared.InstanceRequest;
-import com.google.gwt.requestfactory.shared.Locator;
-import com.google.gwt.requestfactory.shared.ProxyFor;
-import com.google.gwt.requestfactory.shared.ProxyForName;
-import com.google.gwt.requestfactory.shared.Request;
-import com.google.gwt.requestfactory.shared.RequestContext;
-import com.google.gwt.requestfactory.shared.RequestFactory;
-import com.google.gwt.requestfactory.shared.Service;
-import com.google.gwt.requestfactory.shared.ServiceName;
-import com.google.gwt.requestfactory.shared.SimpleRequestFactory;
-import com.google.gwt.requestfactory.shared.ValueProxy;
-import com.google.gwt.requestfactory.shared.impl.FindRequest;
+import com.google.web.bindery.requestfactory.server.RequestFactoryInterfaceValidator.ClassLoaderLoader;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.InstanceRequest;
+import com.google.web.bindery.requestfactory.shared.Locator;
+import com.google.web.bindery.requestfactory.shared.ProxyFor;
+import com.google.web.bindery.requestfactory.shared.ProxyForName;
+import com.google.web.bindery.requestfactory.shared.Request;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
+import com.google.web.bindery.requestfactory.shared.RequestFactory;
+import com.google.web.bindery.requestfactory.shared.Service;
+import com.google.web.bindery.requestfactory.shared.ServiceName;
+import com.google.web.bindery.requestfactory.shared.SimpleRequestFactory;
+import com.google.web.bindery.requestfactory.shared.ValueProxy;
+import com.google.web.bindery.requestfactory.shared.impl.FindRequest;
 
 import junit.framework.TestCase;
 
@@ -196,11 +196,11 @@
   interface LocatorEntityProxy extends EntityProxy {
   }
 
-  @ProxyForName(value = "com.google.gwt.requestfactory.server.RequestFactoryInterfaceValidatorTest.LocatorEntity", locator = "badLocator")
+  @ProxyForName(value = "com.google.web.bindery.requestfactory.server.RequestFactoryInterfaceValidatorTest.LocatorEntity", locator = "badLocator")
   interface LocatorEntityProxyWithBadLocator extends EntityProxy {
   }
 
-  @ProxyForName(value = "badDomainType", locator = "com.google.gwt.requestfactory.server.RequestFactoryInterfaceValidatorTest.LocatorEntityProxyWithBadServiceName")
+  @ProxyForName(value = "badDomainType", locator = "com.google.web.bindery.requestfactory.server.RequestFactoryInterfaceValidatorTest.LocatorEntityProxyWithBadServiceName")
   interface LocatorEntityProxyWithBadServiceName extends EntityProxy {
   }
 
diff --git a/user/test/com/google/gwt/requestfactory/server/RequestFactoryJreTest.java b/user/test/com/google/web/bindery/requestfactory/server/RequestFactoryJreTest.java
similarity index 73%
rename from user/test/com/google/gwt/requestfactory/server/RequestFactoryJreTest.java
rename to user/test/com/google/web/bindery/requestfactory/server/RequestFactoryJreTest.java
index 3dff0cc..dbe0645 100644
--- a/user/test/com/google/gwt/requestfactory/server/RequestFactoryJreTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/server/RequestFactoryJreTest.java
@@ -13,15 +13,15 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
 import com.google.gwt.event.shared.EventBus;
 import com.google.gwt.event.shared.SimpleEventBus;
-import com.google.gwt.requestfactory.client.RequestFactoryTest;
-import com.google.gwt.requestfactory.server.testing.InProcessRequestTransport;
-import com.google.gwt.requestfactory.server.testing.RequestFactoryMagic;
-import com.google.gwt.requestfactory.shared.RequestFactory;
-import com.google.gwt.requestfactory.shared.SimpleRequestFactory;
+import com.google.web.bindery.requestfactory.gwt.client.RequestFactoryTest;
+import com.google.web.bindery.requestfactory.server.testing.InProcessRequestTransport;
+import com.google.web.bindery.requestfactory.shared.RequestFactory;
+import com.google.web.bindery.requestfactory.shared.SimpleRequestFactory;
+import com.google.web.bindery.requestfactory.vm.RequestFactorySource;
 
 /**
  * Runs the RequestFactory tests in-process.
@@ -30,7 +30,7 @@
 
   public static <T extends RequestFactory> T createInProcess(Class<T> clazz) {
     EventBus eventBus = new SimpleEventBus();
-    T req = RequestFactoryMagic.create(clazz);
+    T req = RequestFactorySource.create(clazz);
     ServiceLayer serviceLayer = ServiceLayer.create();
     SimpleRequestProcessor processor = new SimpleRequestProcessor(serviceLayer);
     req.initialize(eventBus, new InProcessRequestTransport(processor));
diff --git a/user/test/com/google/gwt/requestfactory/server/RequestFactoryUnicodeEscapingJreTest.java b/user/test/com/google/web/bindery/requestfactory/server/RequestFactoryUnicodeEscapingJreTest.java
similarity index 81%
rename from user/test/com/google/gwt/requestfactory/server/RequestFactoryUnicodeEscapingJreTest.java
rename to user/test/com/google/web/bindery/requestfactory/server/RequestFactoryUnicodeEscapingJreTest.java
index 06a4d50..16c4601 100644
--- a/user/test/com/google/gwt/requestfactory/server/RequestFactoryUnicodeEscapingJreTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/server/RequestFactoryUnicodeEscapingJreTest.java
@@ -13,10 +13,10 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
-import com.google.gwt.requestfactory.client.RequestFactoryUnicodeEscapingTest;
-import com.google.gwt.requestfactory.shared.SimpleRequestFactory;
+import com.google.web.bindery.requestfactory.gwt.client.RequestFactoryUnicodeEscapingTest;
+import com.google.web.bindery.requestfactory.shared.SimpleRequestFactory;
 
 /**
  * A JRE implementation of {@link RequestFactoryUnicodeEscapingTest}.
diff --git a/user/test/com/google/gwt/requestfactory/server/ServiceInheritanceJreTest.java b/user/test/com/google/web/bindery/requestfactory/server/ServiceInheritanceJreTest.java
similarity index 87%
rename from user/test/com/google/gwt/requestfactory/server/ServiceInheritanceJreTest.java
rename to user/test/com/google/web/bindery/requestfactory/server/ServiceInheritanceJreTest.java
index acfeeb7..8f209de 100644
--- a/user/test/com/google/gwt/requestfactory/server/ServiceInheritanceJreTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/server/ServiceInheritanceJreTest.java
@@ -13,9 +13,9 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
-import com.google.gwt.requestfactory.shared.ServiceInheritanceTest;
+import com.google.web.bindery.requestfactory.shared.ServiceInheritanceTest;
 
 /**
  * A JRE version of {@link ServiceInheritanceTest}.
diff --git a/user/test/com/google/gwt/requestfactory/server/SimpleBar.java b/user/test/com/google/web/bindery/requestfactory/server/SimpleBar.java
similarity index 97%
rename from user/test/com/google/gwt/requestfactory/server/SimpleBar.java
rename to user/test/com/google/web/bindery/requestfactory/server/SimpleBar.java
index cd22c05..5b8e40c 100644
--- a/user/test/com/google/gwt/requestfactory/server/SimpleBar.java
+++ b/user/test/com/google/web/bindery/requestfactory/server/SimpleBar.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
 import com.google.gwt.dev.util.collect.HashSet;
 
@@ -37,7 +37,11 @@
   private static long nextId = 2L;
 
   static {
+    try {
     reset();
+    } catch (Throwable t) {
+      t.printStackTrace();
+    }
   }
 
   public static Long countSimpleBar() {
diff --git a/user/test/com/google/gwt/requestfactory/server/SimpleFoo.java b/user/test/com/google/web/bindery/requestfactory/server/SimpleFoo.java
similarity index 98%
rename from user/test/com/google/gwt/requestfactory/server/SimpleFoo.java
rename to user/test/com/google/web/bindery/requestfactory/server/SimpleFoo.java
index 4012b21..1f3e61e 100644
--- a/user/test/com/google/gwt/requestfactory/server/SimpleFoo.java
+++ b/user/test/com/google/web/bindery/requestfactory/server/SimpleFoo.java
@@ -13,10 +13,10 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
-import com.google.gwt.requestfactory.shared.OnlyUsedByRequestContextMethod;
-import com.google.gwt.requestfactory.shared.SimpleEnum;
+import com.google.web.bindery.requestfactory.shared.OnlyUsedByRequestContextMethod;
+import com.google.web.bindery.requestfactory.shared.SimpleEnum;
 
 import java.math.BigDecimal;
 import java.math.BigInteger;
diff --git a/user/test/com/google/gwt/requestfactory/server/SimpleValue.java b/user/test/com/google/web/bindery/requestfactory/server/SimpleValue.java
similarity index 96%
rename from user/test/com/google/gwt/requestfactory/server/SimpleValue.java
rename to user/test/com/google/web/bindery/requestfactory/server/SimpleValue.java
index 57c2119..5565fec 100644
--- a/user/test/com/google/gwt/requestfactory/server/SimpleValue.java
+++ b/user/test/com/google/web/bindery/requestfactory/server/SimpleValue.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
 import java.util.Date;
 import java.util.List;
diff --git a/user/test/com/google/gwt/requestfactory/server/TestContextImpl.java b/user/test/com/google/web/bindery/requestfactory/server/TestContextImpl.java
similarity index 96%
rename from user/test/com/google/gwt/requestfactory/server/TestContextImpl.java
rename to user/test/com/google/web/bindery/requestfactory/server/TestContextImpl.java
index f64dcee..b918077 100644
--- a/user/test/com/google/gwt/requestfactory/server/TestContextImpl.java
+++ b/user/test/com/google/web/bindery/requestfactory/server/TestContextImpl.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
 /**
  * Bad service method declarations.
diff --git a/user/test/com/google/gwt/requestfactory/server/TestContextNoIdImpl.java b/user/test/com/google/web/bindery/requestfactory/server/TestContextNoIdImpl.java
similarity index 93%
rename from user/test/com/google/gwt/requestfactory/server/TestContextNoIdImpl.java
rename to user/test/com/google/web/bindery/requestfactory/server/TestContextNoIdImpl.java
index 8e64d37..5c03704 100644
--- a/user/test/com/google/gwt/requestfactory/server/TestContextNoIdImpl.java
+++ b/user/test/com/google/web/bindery/requestfactory/server/TestContextNoIdImpl.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
 /**
  * Bad proxy, no id.
diff --git a/user/test/com/google/gwt/requestfactory/server/TestContextNoVersionImpl.java b/user/test/com/google/web/bindery/requestfactory/server/TestContextNoVersionImpl.java
similarity index 93%
rename from user/test/com/google/gwt/requestfactory/server/TestContextNoVersionImpl.java
rename to user/test/com/google/web/bindery/requestfactory/server/TestContextNoVersionImpl.java
index 0bccfa6..9cc7a83 100644
--- a/user/test/com/google/gwt/requestfactory/server/TestContextNoVersionImpl.java
+++ b/user/test/com/google/web/bindery/requestfactory/server/TestContextNoVersionImpl.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.server;
+package com.google.web.bindery.requestfactory.server;
 
 /**
  * Bad proxy, no version.
diff --git a/user/test/com/google/gwt/requestfactory/shared/BaseFooProxy.java b/user/test/com/google/web/bindery/requestfactory/shared/BaseFooProxy.java
similarity index 97%
rename from user/test/com/google/gwt/requestfactory/shared/BaseFooProxy.java
rename to user/test/com/google/web/bindery/requestfactory/shared/BaseFooProxy.java
index 869368e..ca750ec 100644
--- a/user/test/com/google/gwt/requestfactory/shared/BaseFooProxy.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/BaseFooProxy.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 import java.math.BigDecimal;
 import java.math.BigInteger;
diff --git a/user/test/com/google/gwt/requestfactory/shared/BasicRequestFactory.java b/user/test/com/google/web/bindery/requestfactory/shared/BasicRequestFactory.java
similarity index 93%
rename from user/test/com/google/gwt/requestfactory/shared/BasicRequestFactory.java
rename to user/test/com/google/web/bindery/requestfactory/shared/BasicRequestFactory.java
index 8b50964..46bb188 100644
--- a/user/test/com/google/gwt/requestfactory/shared/BasicRequestFactory.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/BasicRequestFactory.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 /**
  * A base type for {@link SimpleRequestFactory} to ensure that extending
diff --git a/user/test/com/google/gwt/requestfactory/shared/BoxesAndPrimitivesTest.java b/user/test/com/google/web/bindery/requestfactory/shared/BoxesAndPrimitivesTest.java
similarity index 97%
rename from user/test/com/google/gwt/requestfactory/shared/BoxesAndPrimitivesTest.java
rename to user/test/com/google/web/bindery/requestfactory/shared/BoxesAndPrimitivesTest.java
index 99fe784..2d3fde4 100644
--- a/user/test/com/google/gwt/requestfactory/shared/BoxesAndPrimitivesTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/BoxesAndPrimitivesTest.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.event.shared.SimpleEventBus;
@@ -157,7 +157,7 @@
 
   @Override
   public String getModuleName() {
-    return "com.google.gwt.requestfactory.RequestFactorySuite";
+    return "com.google.web.bindery.requestfactory.gwt.RequestFactorySuite";
   }
 
   /**
diff --git a/user/test/com/google/gwt/requestfactory/shared/ComplexKeysTest.java b/user/test/com/google/web/bindery/requestfactory/shared/ComplexKeysTest.java
similarity index 97%
rename from user/test/com/google/gwt/requestfactory/shared/ComplexKeysTest.java
rename to user/test/com/google/web/bindery/requestfactory/shared/ComplexKeysTest.java
index 701a276..7184cd9 100644
--- a/user/test/com/google/gwt/requestfactory/shared/ComplexKeysTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/ComplexKeysTest.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.event.shared.SimpleEventBus;
@@ -168,7 +168,7 @@
 
   @Override
   public String getModuleName() {
-    return "com.google.gwt.requestfactory.RequestFactorySuite";
+    return "com.google.web.bindery.requestfactory.gwt.RequestFactorySuite";
   }
 
   public void testEntityKey() {
diff --git a/user/test/com/google/gwt/requestfactory/shared/InstanceServiceRequest.java b/user/test/com/google/web/bindery/requestfactory/shared/InstanceServiceRequest.java
similarity index 80%
rename from user/test/com/google/gwt/requestfactory/shared/InstanceServiceRequest.java
rename to user/test/com/google/web/bindery/requestfactory/shared/InstanceServiceRequest.java
index 79fef75..376eeb5 100644
--- a/user/test/com/google/gwt/requestfactory/shared/InstanceServiceRequest.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/InstanceServiceRequest.java
@@ -13,10 +13,10 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
-import com.google.gwt.requestfactory.server.InstanceService;
-import com.google.gwt.requestfactory.server.InstanceServiceLocator;
+import com.google.web.bindery.requestfactory.server.InstanceService;
+import com.google.web.bindery.requestfactory.server.InstanceServiceLocator;
 
 /**
  * Used to test the ServiceLocator extension hook.
diff --git a/user/test/com/google/gwt/requestfactory/shared/InstanceServiceRequestByName.java b/user/test/com/google/web/bindery/requestfactory/shared/InstanceServiceRequestByName.java
similarity index 77%
rename from user/test/com/google/gwt/requestfactory/shared/InstanceServiceRequestByName.java
rename to user/test/com/google/web/bindery/requestfactory/shared/InstanceServiceRequestByName.java
index 0934a97..648abee 100644
--- a/user/test/com/google/gwt/requestfactory/shared/InstanceServiceRequestByName.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/InstanceServiceRequestByName.java
@@ -13,13 +13,13 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 /**
  * Used to test the ServiceLocator extension hook.
  */
-@ServiceName(value = "com.google.gwt.requestfactory.server.InstanceService", 
-    locator = "com.google.gwt.requestfactory.server.InstanceServiceLocator")
+@ServiceName(value = "com.google.web.bindery.requestfactory.server.InstanceService", 
+    locator = "com.google.web.bindery.requestfactory.server.InstanceServiceLocator")
 public interface InstanceServiceRequestByName extends RequestContext {
   Request<Integer> add(int value);
 }
diff --git a/user/test/com/google/gwt/requestfactory/shared/LocatorTest.java b/user/test/com/google/web/bindery/requestfactory/shared/LocatorTest.java
similarity index 95%
rename from user/test/com/google/gwt/requestfactory/shared/LocatorTest.java
rename to user/test/com/google/web/bindery/requestfactory/shared/LocatorTest.java
index 095f65b..14376bd 100644
--- a/user/test/com/google/gwt/requestfactory/shared/LocatorTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/LocatorTest.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.event.shared.SimpleEventBus;
@@ -94,7 +94,7 @@
 
   @Override
   public String getModuleName() {
-    return "com.google.gwt.requestfactory.RequestFactorySuite";
+    return "com.google.web.bindery.requestfactory.gwt.RequestFactorySuite";
   }
 
   public void testLocator() {
diff --git a/user/test/com/google/gwt/requestfactory/shared/OnlyUsedByRequestContextMethod.java b/user/test/com/google/web/bindery/requestfactory/shared/OnlyUsedByRequestContextMethod.java
similarity index 93%
rename from user/test/com/google/gwt/requestfactory/shared/OnlyUsedByRequestContextMethod.java
rename to user/test/com/google/web/bindery/requestfactory/shared/OnlyUsedByRequestContextMethod.java
index 90d1c97..8df9169 100644
--- a/user/test/com/google/gwt/requestfactory/shared/OnlyUsedByRequestContextMethod.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/OnlyUsedByRequestContextMethod.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 /**
  * Ensures that enums used only by a method in a RequestContext are property
diff --git a/user/test/com/google/gwt/requestfactory/shared/OnlyUsedInListProxy.java b/user/test/com/google/web/bindery/requestfactory/shared/OnlyUsedInListProxy.java
similarity index 88%
rename from user/test/com/google/gwt/requestfactory/shared/OnlyUsedInListProxy.java
rename to user/test/com/google/web/bindery/requestfactory/shared/OnlyUsedInListProxy.java
index a96aa9e..73460ff 100644
--- a/user/test/com/google/gwt/requestfactory/shared/OnlyUsedInListProxy.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/OnlyUsedInListProxy.java
@@ -13,9 +13,9 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
-import com.google.gwt.requestfactory.server.SimpleFoo;
+import com.google.web.bindery.requestfactory.server.SimpleFoo;
 
 /**
  * This proxy type should only be used as the parameterization of a list type to
diff --git a/user/test/com/google/gwt/requestfactory/shared/ServiceInheritanceTest.java b/user/test/com/google/web/bindery/requestfactory/shared/ServiceInheritanceTest.java
similarity index 89%
rename from user/test/com/google/gwt/requestfactory/shared/ServiceInheritanceTest.java
rename to user/test/com/google/web/bindery/requestfactory/shared/ServiceInheritanceTest.java
index 72435eb..f4df2e6 100644
--- a/user/test/com/google/gwt/requestfactory/shared/ServiceInheritanceTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/ServiceInheritanceTest.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.event.shared.SimpleEventBus;
@@ -49,7 +49,7 @@
   }
 
   /**
-   * Specifies the base class implementation
+   * Specifies the base class implementation.
    */
   @Service(value = BaseImpl.class, locator = SumServiceLocator.class)
   interface SumServiceBase extends RequestContext {
@@ -58,7 +58,7 @@
   }
 
   /**
-   * Specifies the subclass implementation
+   * Specifies the subclass implementation.
    */
   @Service(value = SubclassImpl.class, locator = SumServiceLocator.class)
   interface SumServiceSub extends RequestContext {
@@ -67,7 +67,7 @@
   }
 
   /**
-   * Base implementation of {@link SumServiceBase}
+   * Base implementation of {@link SumServiceBase}.
    */
   static class BaseImpl {
     protected int initialValue;
@@ -87,7 +87,7 @@
 
   /**
    * Subclass implementation of {@link SumServiceSub}
-   * inherits the add() method
+   * inherits the add() method.
    */
   static class SubclassImpl extends BaseImpl {
     public SubclassImpl() {
@@ -110,11 +110,11 @@
 
   @Override
   public String getModuleName() {
-    return "com.google.gwt.requestfactory.RequestFactorySuite";
+    return "com.google.web.bindery.requestfactory.gwt.RequestFactorySuite";
   }
 
   /**
-   * Call a method inherited from a base class
+   * Call a method inherited from a base class.
    */
   public void testInvokeInheritedMethod() {
     delayTestFinish(TEST_DELAY);
@@ -128,7 +128,7 @@
   }
 
   /**
-   * Call a method implemented in a base class
+   * Call a method implemented in a base class.
    */
   public void testInvokeMethodOnBaseClass() {
     delayTestFinish(TEST_DELAY);
@@ -142,7 +142,7 @@
   }
 
   /**
-   * Call a method overridden in a subclass
+   * Call a method overridden in a subclass.
    */
   public void testInvokeOverriddenMethod() {
     delayTestFinish(TEST_DELAY);
diff --git a/user/test/com/google/gwt/requestfactory/shared/SimpleBarProxy.java b/user/test/com/google/web/bindery/requestfactory/shared/SimpleBarProxy.java
similarity index 90%
rename from user/test/com/google/gwt/requestfactory/shared/SimpleBarProxy.java
rename to user/test/com/google/web/bindery/requestfactory/shared/SimpleBarProxy.java
index e3fd376..2995e06 100644
--- a/user/test/com/google/gwt/requestfactory/shared/SimpleBarProxy.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/SimpleBarProxy.java
@@ -13,13 +13,13 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 /**
  * A simple entity used for testing. Has an int field and date field. Add other
  * data types as their support gets built in.
  */
-@ProxyForName("com.google.gwt.requestfactory.server.SimpleBar")
+@ProxyForName("com.google.web.bindery.requestfactory.server.SimpleBar")
 public interface SimpleBarProxy extends EntityProxy {
   Boolean getFindFails();
 
@@ -39,4 +39,4 @@
   void setUserName(String userName);
 
   EntityProxyId<SimpleBarProxy> stableId();
-}
\ No newline at end of file
+}
diff --git a/user/test/com/google/gwt/requestfactory/shared/SimpleBarRequest.java b/user/test/com/google/web/bindery/requestfactory/shared/SimpleBarRequest.java
similarity index 89%
rename from user/test/com/google/gwt/requestfactory/shared/SimpleBarRequest.java
rename to user/test/com/google/web/bindery/requestfactory/shared/SimpleBarRequest.java
index f0196ad..3d9bb6f 100644
--- a/user/test/com/google/gwt/requestfactory/shared/SimpleBarRequest.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/SimpleBarRequest.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 import java.util.List;
 import java.util.Set;
@@ -21,7 +21,7 @@
 /**
  * Do nothing test interface.
  */
-@ServiceName("com.google.gwt.requestfactory.server.SimpleBar")
+@ServiceName("com.google.web.bindery.requestfactory.server.SimpleBar")
 public interface SimpleBarRequest extends RequestContext {
 
   Request<Long> countSimpleBar();
diff --git a/user/test/com/google/gwt/requestfactory/shared/SimpleEnum.java b/user/test/com/google/web/bindery/requestfactory/shared/SimpleEnum.java
similarity index 92%
rename from user/test/com/google/gwt/requestfactory/shared/SimpleEnum.java
rename to user/test/com/google/web/bindery/requestfactory/shared/SimpleEnum.java
index 1a04ab9..b338e5f 100644
--- a/user/test/com/google/gwt/requestfactory/shared/SimpleEnum.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/SimpleEnum.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 /**
  * Test enum class.
diff --git a/user/test/com/google/gwt/requestfactory/shared/SimpleFooProxy.java b/user/test/com/google/web/bindery/requestfactory/shared/SimpleFooProxy.java
similarity index 88%
rename from user/test/com/google/gwt/requestfactory/shared/SimpleFooProxy.java
rename to user/test/com/google/web/bindery/requestfactory/shared/SimpleFooProxy.java
index 28f7a23..9925dde 100644
--- a/user/test/com/google/gwt/requestfactory/shared/SimpleFooProxy.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/SimpleFooProxy.java
@@ -13,9 +13,9 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
-import com.google.gwt.requestfactory.server.SimpleFoo;
+import com.google.web.bindery.requestfactory.server.SimpleFoo;
 
 /**
  * A simple extension of AbstractFooProxy with Long id.
diff --git a/user/test/com/google/gwt/requestfactory/shared/SimpleFooRequest.java b/user/test/com/google/web/bindery/requestfactory/shared/SimpleFooRequest.java
similarity index 96%
rename from user/test/com/google/gwt/requestfactory/shared/SimpleFooRequest.java
rename to user/test/com/google/web/bindery/requestfactory/shared/SimpleFooRequest.java
index 6afdd34..ba305a2 100644
--- a/user/test/com/google/gwt/requestfactory/shared/SimpleFooRequest.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/SimpleFooRequest.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 import java.math.BigDecimal;
 import java.math.BigInteger;
@@ -24,7 +24,7 @@
 /**
  * Do nothing test interface.
  */
-@Service(com.google.gwt.requestfactory.server.SimpleFoo.class)
+@Service(com.google.web.bindery.requestfactory.server.SimpleFoo.class)
 public interface SimpleFooRequest extends RequestContext {
   Request<Integer> add(Integer a, int b);
 
diff --git a/user/test/com/google/gwt/requestfactory/shared/SimpleRequestFactory.java b/user/test/com/google/web/bindery/requestfactory/shared/SimpleRequestFactory.java
similarity index 88%
rename from user/test/com/google/gwt/requestfactory/shared/SimpleRequestFactory.java
rename to user/test/com/google/web/bindery/requestfactory/shared/SimpleRequestFactory.java
index 8298f8d..63944e2 100644
--- a/user/test/com/google/gwt/requestfactory/shared/SimpleRequestFactory.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/SimpleRequestFactory.java
@@ -13,10 +13,10 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 /**
- * Simple RequesetFactory interface with two domain objects, and our standard
+ * Simple RequestFactory interface with two domain objects, and our standard
  * UserInformation and Logging services.
  */
 public interface SimpleRequestFactory extends BasicRequestFactory {
diff --git a/user/test/com/google/gwt/requestfactory/shared/SimpleValueContext.java b/user/test/com/google/web/bindery/requestfactory/shared/SimpleValueContext.java
similarity index 86%
rename from user/test/com/google/gwt/requestfactory/shared/SimpleValueContext.java
rename to user/test/com/google/web/bindery/requestfactory/shared/SimpleValueContext.java
index 9b269b3..9fdbaf2 100644
--- a/user/test/com/google/gwt/requestfactory/shared/SimpleValueContext.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/SimpleValueContext.java
@@ -13,9 +13,9 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
-import com.google.gwt.requestfactory.server.SimpleValue;
+import com.google.web.bindery.requestfactory.server.SimpleValue;
 
 /**
  * Tests instance method invocations on value objects.
diff --git a/user/test/com/google/gwt/requestfactory/shared/SimpleValueProxy.java b/user/test/com/google/web/bindery/requestfactory/shared/SimpleValueProxy.java
similarity index 90%
rename from user/test/com/google/gwt/requestfactory/shared/SimpleValueProxy.java
rename to user/test/com/google/web/bindery/requestfactory/shared/SimpleValueProxy.java
index 67b6d43..7ff4a09 100644
--- a/user/test/com/google/gwt/requestfactory/shared/SimpleValueProxy.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/SimpleValueProxy.java
@@ -13,9 +13,9 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
-import com.google.gwt.requestfactory.server.SimpleValue;
+import com.google.web.bindery.requestfactory.server.SimpleValue;
 
 import java.util.Date;
 import java.util.List;
diff --git a/user/test/com/google/gwt/requestfactory/shared/TestFooPolymorphicRequest.java b/user/test/com/google/web/bindery/requestfactory/shared/TestFooPolymorphicRequest.java
similarity index 77%
rename from user/test/com/google/gwt/requestfactory/shared/TestFooPolymorphicRequest.java
rename to user/test/com/google/web/bindery/requestfactory/shared/TestFooPolymorphicRequest.java
index f2d42b8..5662c40 100644
--- a/user/test/com/google/gwt/requestfactory/shared/TestFooPolymorphicRequest.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/TestFooPolymorphicRequest.java
@@ -13,13 +13,13 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 /**
  * Just to test the
- * {@link com.google.gwt.requestfactory.rebind.RequestFactoryGenerator} code.
+ * {@link com.google.web.bindery.requestfactory.gwt.rebind.RequestFactoryGenerator} code.
  */
-@Service(com.google.gwt.requestfactory.server.SimpleFoo.class)
+@Service(com.google.web.bindery.requestfactory.server.SimpleFoo.class)
 public interface TestFooPolymorphicRequest extends RequestContext {
   <P extends SimpleFooProxy> Request<P> echo(P proxy);
 }
diff --git a/user/test/com/google/gwt/requestfactory/shared/TestRequestFactory.java b/user/test/com/google/web/bindery/requestfactory/shared/TestRequestFactory.java
similarity index 93%
rename from user/test/com/google/gwt/requestfactory/shared/TestRequestFactory.java
rename to user/test/com/google/web/bindery/requestfactory/shared/TestRequestFactory.java
index 663ad84..6ced0f6 100644
--- a/user/test/com/google/gwt/requestfactory/shared/TestRequestFactory.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/TestRequestFactory.java
@@ -13,11 +13,11 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 /**
  * Creates TestFooPolymorphicRequest.
  */
 public interface TestRequestFactory extends RequestFactory {
   TestFooPolymorphicRequest testFooPolymorphicRequest();
-}
\ No newline at end of file
+}
diff --git a/user/test/com/google/gwt/requestfactory/shared/UnicodeTestRequest.java b/user/test/com/google/web/bindery/requestfactory/shared/UnicodeTestRequest.java
similarity index 94%
rename from user/test/com/google/gwt/requestfactory/shared/UnicodeTestRequest.java
rename to user/test/com/google/web/bindery/requestfactory/shared/UnicodeTestRequest.java
index fe9e38e..10fe3c9 100644
--- a/user/test/com/google/gwt/requestfactory/shared/UnicodeTestRequest.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/UnicodeTestRequest.java
@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared;
+package com.google.web.bindery.requestfactory.shared;
 
 import com.google.gwt.user.client.rpc.UnicodeEscapingTest;
 
diff --git a/user/test/com/google/gwt/requestfactory/shared/impl/SimpleEntityProxyIdTest.java b/user/test/com/google/web/bindery/requestfactory/shared/impl/SimpleEntityProxyIdTest.java
similarity index 90%
rename from user/test/com/google/gwt/requestfactory/shared/impl/SimpleEntityProxyIdTest.java
rename to user/test/com/google/web/bindery/requestfactory/shared/impl/SimpleEntityProxyIdTest.java
index ebb9433..249c658 100644
--- a/user/test/com/google/gwt/requestfactory/shared/impl/SimpleEntityProxyIdTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/impl/SimpleEntityProxyIdTest.java
@@ -13,11 +13,11 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory.shared.impl;
+package com.google.web.bindery.requestfactory.shared.impl;
 
-import com.google.gwt.requestfactory.shared.EntityProxy;
-import com.google.gwt.requestfactory.shared.SimpleBarProxy;
-import com.google.gwt.requestfactory.shared.SimpleFooProxy;
+import com.google.web.bindery.requestfactory.shared.EntityProxy;
+import com.google.web.bindery.requestfactory.shared.SimpleBarProxy;
+import com.google.web.bindery.requestfactory.shared.SimpleFooProxy;
 
 import junit.framework.TestCase;
 
diff --git a/user/test/com/google/gwt/requestfactory/RequestFactoryJreSuite.java b/user/test/com/google/web/bindery/requestfactory/vm/RequestFactoryJreSuite.java
similarity index 61%
rename from user/test/com/google/gwt/requestfactory/RequestFactoryJreSuite.java
rename to user/test/com/google/web/bindery/requestfactory/vm/RequestFactoryJreSuite.java
index 06285d8..3187318 100644
--- a/user/test/com/google/gwt/requestfactory/RequestFactoryJreSuite.java
+++ b/user/test/com/google/web/bindery/requestfactory/vm/RequestFactoryJreSuite.java
@@ -13,25 +13,24 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.google.gwt.requestfactory;
+package com.google.web.bindery.requestfactory.vm;
 
-import com.google.gwt.requestfactory.rebind.model.RequestFactoryModelTest;
-import com.google.gwt.requestfactory.server.BoxesAndPrimitivesJreTest;
-import com.google.gwt.requestfactory.server.ComplexKeysJreTest;
-import com.google.gwt.requestfactory.server.FindServiceJreTest;
-import com.google.gwt.requestfactory.server.LocatorJreTest;
-import com.google.gwt.requestfactory.server.RequestFactoryExceptionPropagationJreTest;
-import com.google.gwt.requestfactory.server.RequestFactoryInterfaceValidatorTest;
-import com.google.gwt.requestfactory.server.RequestFactoryJreTest;
-import com.google.gwt.requestfactory.server.RequestFactoryUnicodeEscapingJreTest;
-import com.google.gwt.requestfactory.server.ServiceInheritanceJreTest;
-import com.google.gwt.requestfactory.shared.impl.SimpleEntityProxyIdTest;
+import com.google.web.bindery.requestfactory.server.BoxesAndPrimitivesJreTest;
+import com.google.web.bindery.requestfactory.server.ComplexKeysJreTest;
+import com.google.web.bindery.requestfactory.server.FindServiceJreTest;
+import com.google.web.bindery.requestfactory.server.LocatorJreTest;
+import com.google.web.bindery.requestfactory.server.RequestFactoryExceptionPropagationJreTest;
+import com.google.web.bindery.requestfactory.server.RequestFactoryInterfaceValidatorTest;
+import com.google.web.bindery.requestfactory.server.RequestFactoryJreTest;
+import com.google.web.bindery.requestfactory.server.RequestFactoryUnicodeEscapingJreTest;
+import com.google.web.bindery.requestfactory.server.ServiceInheritanceJreTest;
+import com.google.web.bindery.requestfactory.shared.impl.SimpleEntityProxyIdTest;
 
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
 /**
- * Suite of RequestFactory tests that require the JRE.
+ * Suite of RequestFactory tests that require the JRE (without GWT).
  * <p>
  * Note: these tests require gwt-user src on the classpath. To run in
  * Eclipse, use Google Plugin for Eclipse to run as a GWT JUnit test
@@ -49,10 +48,17 @@
     suite.addTestSuite(RequestFactoryExceptionPropagationJreTest.class);
     suite.addTestSuite(RequestFactoryInterfaceValidatorTest.class);
     suite.addTestSuite(RequestFactoryJreTest.class);
-    suite.addTestSuite(RequestFactoryModelTest.class);
     suite.addTestSuite(RequestFactoryUnicodeEscapingJreTest.class);
     suite.addTestSuite(ServiceInheritanceJreTest.class);
     suite.addTestSuite(SimpleEntityProxyIdTest.class);
+
     return suite;
   }
+
+  /**
+   * Used to test the JVM-only client package.
+   */
+  public static void main(String[] args) {
+    junit.textui.TestRunner.run(suite());
+  }
 }