diff --git a/pom.xml b/pom.xml
index aaac581053..d250a8c249 100644
--- a/pom.xml
+++ b/pom.xml
@@ -81,7 +81,7 @@
rapidoid-http-api
rapidoid-http
rapidoid-measure
- rapidoid-pojo
+ rapidoid-dispatch
rapidoid-rest
rapidoid-html
rapidoid-widget
diff --git a/rapidoid-pojo/pom.xml b/rapidoid-dispatch/pom.xml
similarity index 85%
rename from rapidoid-pojo/pom.xml
rename to rapidoid-dispatch/pom.xml
index c37b60bee2..657a33222b 100644
--- a/rapidoid-pojo/pom.xml
+++ b/rapidoid-dispatch/pom.xml
@@ -7,9 +7,9 @@
3.0.0-SNAPSHOT
- rapidoid-pojo
+ rapidoid-dispatch
jar
- Rapidoid POJO
+ Rapidoid Dispatch
diff --git a/rapidoid-pojo/src/main/java/org/rapidoid/pojo/POJO.java b/rapidoid-dispatch/src/main/java/org/rapidoid/dispatch/Dispatch.java
similarity index 88%
rename from rapidoid-pojo/src/main/java/org/rapidoid/pojo/POJO.java
rename to rapidoid-dispatch/src/main/java/org/rapidoid/dispatch/Dispatch.java
index 497e78acb8..a5c4dd948d 100644
--- a/rapidoid-pojo/src/main/java/org/rapidoid/pojo/POJO.java
+++ b/rapidoid-dispatch/src/main/java/org/rapidoid/dispatch/Dispatch.java
@@ -1,8 +1,8 @@
-package org.rapidoid.pojo;
+package org.rapidoid.dispatch;
/*
* #%L
- * rapidoid-pojo
+ * rapidoid-dispatch
* %%
* Copyright (C) 2014 - 2015 Nikolche Mihajlovski
* %%
@@ -24,13 +24,13 @@
import org.rapidoid.annotation.Authors;
import org.rapidoid.annotation.Since;
-import org.rapidoid.pojo.impl.PojoDispatcherImpl;
+import org.rapidoid.dispatch.impl.PojoDispatcherImpl;
import org.rapidoid.util.Cls;
import org.rapidoid.util.U;
@Authors("Nikolche Mihajlovski")
-@Since("2.0.0")
-public class POJO {
+@Since("3.0.0")
+public class Dispatch {
public static PojoDispatcher dispatcher(Class>... serviceClasses) {
return new PojoDispatcherImpl(Cls.classMap(U.list(serviceClasses)));
diff --git a/rapidoid-pojo/src/main/java/org/rapidoid/pojo/PojoDispatchException.java b/rapidoid-dispatch/src/main/java/org/rapidoid/dispatch/PojoDispatchException.java
similarity index 94%
rename from rapidoid-pojo/src/main/java/org/rapidoid/pojo/PojoDispatchException.java
rename to rapidoid-dispatch/src/main/java/org/rapidoid/dispatch/PojoDispatchException.java
index 91de22d6c0..06d00e0cce 100644
--- a/rapidoid-pojo/src/main/java/org/rapidoid/pojo/PojoDispatchException.java
+++ b/rapidoid-dispatch/src/main/java/org/rapidoid/dispatch/PojoDispatchException.java
@@ -1,11 +1,11 @@
-package org.rapidoid.pojo;
+package org.rapidoid.dispatch;
import org.rapidoid.annotation.Authors;
import org.rapidoid.annotation.Since;
/*
* #%L
- * rapidoid-pojo
+ * rapidoid-dispatch
* %%
* Copyright (C) 2014 - 2015 Nikolche Mihajlovski
* %%
diff --git a/rapidoid-pojo/src/main/java/org/rapidoid/pojo/PojoDispatcher.java b/rapidoid-dispatch/src/main/java/org/rapidoid/dispatch/PojoDispatcher.java
similarity index 94%
rename from rapidoid-pojo/src/main/java/org/rapidoid/pojo/PojoDispatcher.java
rename to rapidoid-dispatch/src/main/java/org/rapidoid/dispatch/PojoDispatcher.java
index 5d56b13731..fb6ff5a567 100644
--- a/rapidoid-pojo/src/main/java/org/rapidoid/pojo/PojoDispatcher.java
+++ b/rapidoid-dispatch/src/main/java/org/rapidoid/dispatch/PojoDispatcher.java
@@ -1,11 +1,11 @@
-package org.rapidoid.pojo;
+package org.rapidoid.dispatch;
import org.rapidoid.annotation.Authors;
import org.rapidoid.annotation.Since;
/*
* #%L
- * rapidoid-pojo
+ * rapidoid-dispatch
* %%
* Copyright (C) 2014 - 2015 Nikolche Mihajlovski
* %%
diff --git a/rapidoid-pojo/src/main/java/org/rapidoid/pojo/PojoHandlerNotFoundException.java b/rapidoid-dispatch/src/main/java/org/rapidoid/dispatch/PojoHandlerNotFoundException.java
similarity index 94%
rename from rapidoid-pojo/src/main/java/org/rapidoid/pojo/PojoHandlerNotFoundException.java
rename to rapidoid-dispatch/src/main/java/org/rapidoid/dispatch/PojoHandlerNotFoundException.java
index 29a29d5da3..e6fe506eab 100644
--- a/rapidoid-pojo/src/main/java/org/rapidoid/pojo/PojoHandlerNotFoundException.java
+++ b/rapidoid-dispatch/src/main/java/org/rapidoid/dispatch/PojoHandlerNotFoundException.java
@@ -1,11 +1,11 @@
-package org.rapidoid.pojo;
+package org.rapidoid.dispatch;
import org.rapidoid.annotation.Authors;
import org.rapidoid.annotation.Since;
/*
* #%L
- * rapidoid-pojo
+ * rapidoid-dispatch
* %%
* Copyright (C) 2014 - 2015 Nikolche Mihajlovski
* %%
diff --git a/rapidoid-pojo/src/main/java/org/rapidoid/pojo/PojoRequest.java b/rapidoid-dispatch/src/main/java/org/rapidoid/dispatch/PojoRequest.java
similarity index 94%
rename from rapidoid-pojo/src/main/java/org/rapidoid/pojo/PojoRequest.java
rename to rapidoid-dispatch/src/main/java/org/rapidoid/dispatch/PojoRequest.java
index 3894209686..2619680586 100644
--- a/rapidoid-pojo/src/main/java/org/rapidoid/pojo/PojoRequest.java
+++ b/rapidoid-dispatch/src/main/java/org/rapidoid/dispatch/PojoRequest.java
@@ -1,8 +1,8 @@
-package org.rapidoid.pojo;
+package org.rapidoid.dispatch;
/*
* #%L
- * rapidoid-pojo
+ * rapidoid-dispatch
* %%
* Copyright (C) 2014 - 2015 Nikolche Mihajlovski
* %%
diff --git a/rapidoid-pojo/src/main/java/org/rapidoid/pojo/impl/DispatchReq.java b/rapidoid-dispatch/src/main/java/org/rapidoid/dispatch/impl/DispatchReq.java
similarity index 96%
rename from rapidoid-pojo/src/main/java/org/rapidoid/pojo/impl/DispatchReq.java
rename to rapidoid-dispatch/src/main/java/org/rapidoid/dispatch/impl/DispatchReq.java
index d74c691f1b..d54989d28f 100644
--- a/rapidoid-pojo/src/main/java/org/rapidoid/pojo/impl/DispatchReq.java
+++ b/rapidoid-dispatch/src/main/java/org/rapidoid/dispatch/impl/DispatchReq.java
@@ -1,8 +1,8 @@
-package org.rapidoid.pojo.impl;
+package org.rapidoid.dispatch.impl;
/*
* #%L
- * rapidoid-pojo
+ * rapidoid-dispatch
* %%
* Copyright (C) 2014 - 2015 Nikolche Mihajlovski
* %%
diff --git a/rapidoid-pojo/src/main/java/org/rapidoid/pojo/impl/DispatchTarget.java b/rapidoid-dispatch/src/main/java/org/rapidoid/dispatch/impl/DispatchTarget.java
similarity index 95%
rename from rapidoid-pojo/src/main/java/org/rapidoid/pojo/impl/DispatchTarget.java
rename to rapidoid-dispatch/src/main/java/org/rapidoid/dispatch/impl/DispatchTarget.java
index a83dd92ec8..aeaf869f93 100644
--- a/rapidoid-pojo/src/main/java/org/rapidoid/pojo/impl/DispatchTarget.java
+++ b/rapidoid-dispatch/src/main/java/org/rapidoid/dispatch/impl/DispatchTarget.java
@@ -1,8 +1,8 @@
-package org.rapidoid.pojo.impl;
+package org.rapidoid.dispatch.impl;
/*
* #%L
- * rapidoid-pojo
+ * rapidoid-dispatch
* %%
* Copyright (C) 2014 - 2015 Nikolche Mihajlovski
* %%
diff --git a/rapidoid-pojo/src/main/java/org/rapidoid/pojo/impl/PojoDispatcherImpl.java b/rapidoid-dispatch/src/main/java/org/rapidoid/dispatch/impl/PojoDispatcherImpl.java
similarity index 97%
rename from rapidoid-pojo/src/main/java/org/rapidoid/pojo/impl/PojoDispatcherImpl.java
rename to rapidoid-dispatch/src/main/java/org/rapidoid/dispatch/impl/PojoDispatcherImpl.java
index 5223a7ce6d..a0d4f5097c 100644
--- a/rapidoid-pojo/src/main/java/org/rapidoid/pojo/impl/PojoDispatcherImpl.java
+++ b/rapidoid-dispatch/src/main/java/org/rapidoid/dispatch/impl/PojoDispatcherImpl.java
@@ -1,8 +1,8 @@
-package org.rapidoid.pojo.impl;
+package org.rapidoid.dispatch.impl;
/*
* #%L
- * rapidoid-pojo
+ * rapidoid-dispatch
* %%
* Copyright (C) 2014 - 2015 Nikolche Mihajlovski
* %%
@@ -39,11 +39,11 @@
import org.rapidoid.beany.Beany;
import org.rapidoid.beany.Metadata;
import org.rapidoid.beany.Prop;
+import org.rapidoid.dispatch.PojoDispatchException;
+import org.rapidoid.dispatch.PojoDispatcher;
+import org.rapidoid.dispatch.PojoHandlerNotFoundException;
+import org.rapidoid.dispatch.PojoRequest;
import org.rapidoid.log.Log;
-import org.rapidoid.pojo.PojoDispatchException;
-import org.rapidoid.pojo.PojoDispatcher;
-import org.rapidoid.pojo.PojoHandlerNotFoundException;
-import org.rapidoid.pojo.PojoRequest;
import org.rapidoid.util.Cls;
import org.rapidoid.util.Constants;
import org.rapidoid.util.TypeKind;
diff --git a/rapidoid-pojo/src/main/java/org/rapidoid/pojo/impl/PojoRequestImpl.java b/rapidoid-dispatch/src/main/java/org/rapidoid/dispatch/impl/PojoRequestImpl.java
similarity index 93%
rename from rapidoid-pojo/src/main/java/org/rapidoid/pojo/impl/PojoRequestImpl.java
rename to rapidoid-dispatch/src/main/java/org/rapidoid/dispatch/impl/PojoRequestImpl.java
index 035597a268..0485f38d42 100644
--- a/rapidoid-pojo/src/main/java/org/rapidoid/pojo/impl/PojoRequestImpl.java
+++ b/rapidoid-dispatch/src/main/java/org/rapidoid/dispatch/impl/PojoRequestImpl.java
@@ -1,8 +1,8 @@
-package org.rapidoid.pojo.impl;
+package org.rapidoid.dispatch.impl;
/*
* #%L
- * rapidoid-pojo
+ * rapidoid-dispatch
* %%
* Copyright (C) 2014 - 2015 Nikolche Mihajlovski
* %%
@@ -24,7 +24,7 @@
import org.rapidoid.annotation.Authors;
import org.rapidoid.annotation.Since;
-import org.rapidoid.pojo.PojoRequest;
+import org.rapidoid.dispatch.PojoRequest;
@Authors("Nikolche Mihajlovski")
@Since("2.0.0")
diff --git a/rapidoid-pages/pom.xml b/rapidoid-pages/pom.xml
index 2861101e0e..cfad084b0b 100644
--- a/rapidoid-pages/pom.xml
+++ b/rapidoid-pages/pom.xml
@@ -34,7 +34,7 @@
org.rapidoid
- rapidoid-pojo
+ rapidoid-dispatch
${project.version}
diff --git a/rapidoid-pages/src/main/java/org/rapidoid/pages/Pages.java b/rapidoid-pages/src/main/java/org/rapidoid/pages/Pages.java
index d0e2b88eef..4c9ebe9c4b 100644
--- a/rapidoid-pages/src/main/java/org/rapidoid/pages/Pages.java
+++ b/rapidoid-pages/src/main/java/org/rapidoid/pages/Pages.java
@@ -29,6 +29,8 @@
import org.rapidoid.annotation.Since;
import org.rapidoid.beany.Beany;
import org.rapidoid.config.Conf;
+import org.rapidoid.dispatch.PojoDispatchException;
+import org.rapidoid.dispatch.PojoHandlerNotFoundException;
import org.rapidoid.html.Cmd;
import org.rapidoid.html.TagContext;
import org.rapidoid.html.Tags;
@@ -44,8 +46,6 @@
import org.rapidoid.pages.impl.BuiltInCmdHandler;
import org.rapidoid.pages.impl.ComplexView;
import org.rapidoid.pages.impl.PageRenderer;
-import org.rapidoid.pojo.PojoDispatchException;
-import org.rapidoid.pojo.PojoHandlerNotFoundException;
import org.rapidoid.rest.WebPojoDispatcher;
import org.rapidoid.rest.WebReq;
import org.rapidoid.util.Arr;
diff --git a/rapidoid-rest/pom.xml b/rapidoid-rest/pom.xml
index b14e134e39..028249a78f 100644
--- a/rapidoid-rest/pom.xml
+++ b/rapidoid-rest/pom.xml
@@ -19,7 +19,7 @@
org.rapidoid
- rapidoid-pojo
+ rapidoid-dispatch
${project.version}
diff --git a/rapidoid-rest/src/main/java/org/rapidoid/rest/REST.java b/rapidoid-rest/src/main/java/org/rapidoid/rest/REST.java
index e8ccf30b31..95f18eeab9 100644
--- a/rapidoid-rest/src/main/java/org/rapidoid/rest/REST.java
+++ b/rapidoid-rest/src/main/java/org/rapidoid/rest/REST.java
@@ -26,12 +26,12 @@
import org.rapidoid.annotation.RESTful;
import org.rapidoid.annotation.Since;
import org.rapidoid.config.Conf;
+import org.rapidoid.dispatch.PojoDispatchException;
+import org.rapidoid.dispatch.PojoDispatcher;
+import org.rapidoid.dispatch.PojoHandlerNotFoundException;
import org.rapidoid.http.HTTP;
import org.rapidoid.http.Handler;
import org.rapidoid.http.HttpExchange;
-import org.rapidoid.pojo.PojoDispatchException;
-import org.rapidoid.pojo.PojoDispatcher;
-import org.rapidoid.pojo.PojoHandlerNotFoundException;
import org.rapidoid.util.Scan;
@Authors("Nikolche Mihajlovski")
diff --git a/rapidoid-rest/src/main/java/org/rapidoid/rest/WebPojoDispatcher.java b/rapidoid-rest/src/main/java/org/rapidoid/rest/WebPojoDispatcher.java
index 8c1b3a3c96..4f1cdbc7bb 100644
--- a/rapidoid-rest/src/main/java/org/rapidoid/rest/WebPojoDispatcher.java
+++ b/rapidoid-rest/src/main/java/org/rapidoid/rest/WebPojoDispatcher.java
@@ -35,12 +35,12 @@
import org.rapidoid.annotation.TransactionMode;
import org.rapidoid.aop.AOP;
import org.rapidoid.beany.Metadata;
+import org.rapidoid.dispatch.PojoDispatchException;
+import org.rapidoid.dispatch.PojoHandlerNotFoundException;
+import org.rapidoid.dispatch.PojoRequest;
+import org.rapidoid.dispatch.impl.DispatchReq;
+import org.rapidoid.dispatch.impl.PojoDispatcherImpl;
import org.rapidoid.http.HttpExchange;
-import org.rapidoid.pojo.PojoDispatchException;
-import org.rapidoid.pojo.PojoHandlerNotFoundException;
-import org.rapidoid.pojo.PojoRequest;
-import org.rapidoid.pojo.impl.DispatchReq;
-import org.rapidoid.pojo.impl.PojoDispatcherImpl;
import org.rapidoid.util.Arr;
import org.rapidoid.util.Cls;
import org.rapidoid.util.U;
diff --git a/rapidoid-rest/src/main/java/org/rapidoid/rest/WebReq.java b/rapidoid-rest/src/main/java/org/rapidoid/rest/WebReq.java
index c7365e493d..872b705658 100644
--- a/rapidoid-rest/src/main/java/org/rapidoid/rest/WebReq.java
+++ b/rapidoid-rest/src/main/java/org/rapidoid/rest/WebReq.java
@@ -24,8 +24,8 @@
import org.rapidoid.annotation.Authors;
import org.rapidoid.annotation.Since;
+import org.rapidoid.dispatch.PojoRequest;
import org.rapidoid.http.HttpExchange;
-import org.rapidoid.pojo.PojoRequest;
@Authors("Nikolche Mihajlovski")
@Since("2.0.0")