Simplify the way ReceiveProcess is used
diff --git a/src/main/java/org/apache/ode/jacob/oo/ProcessUtil.java b/src/main/java/org/apache/ode/jacob/oo/ProcessUtil.java
index c6dc94f..3d11f77 100644
--- a/src/main/java/org/apache/ode/jacob/oo/ProcessUtil.java
+++ b/src/main/java/org/apache/ode/jacob/oo/ProcessUtil.java
@@ -42,12 +42,11 @@
         return result.or(process);
     }
 
-    @SuppressWarnings("serial")
 	public static <T extends Channel> ChannelListener receive(T proxy, T listener) {
     	// TODO: NOTE: this *only* works when the listnere doesn't need to be Serialiazble really
     	//  because we cannot declare a staic serialVersionUID like this
     	//  once we fix serialization, this can be simplified significantly via a dsl
-    	return new ReceiveProcess() {}.setChannel(proxy).setReceiver(listener);
+    	return new ReceiveProcess().setChannel(proxy).setReceiver(listener);
     }
 
 }
diff --git a/src/main/java/org/apache/ode/jacob/oo/ReceiveProcess.java b/src/main/java/org/apache/ode/jacob/oo/ReceiveProcess.java
index 9334def..cd7b781 100644
--- a/src/main/java/org/apache/ode/jacob/oo/ReceiveProcess.java
+++ b/src/main/java/org/apache/ode/jacob/oo/ReceiveProcess.java
@@ -24,9 +24,9 @@
 import java.util.Set;
 
 
+public class ReceiveProcess extends ChannelListener {
+    private static final long serialVersionUID = 1L;
 
-@SuppressWarnings("serial")
-public abstract class ReceiveProcess extends ChannelListener {
     private transient Set<Method> _implementedMethods;
     private transient Channel channel;
     private Channel receiver;
diff --git a/src/test/java/org/apache/ode/jacob/examples/cell/CELL_.java b/src/test/java/org/apache/ode/jacob/examples/cell/CELL_.java
index a6426f9..1370562 100644
--- a/src/test/java/org/apache/ode/jacob/examples/cell/CELL_.java
+++ b/src/test/java/org/apache/ode/jacob/examples/cell/CELL_.java
@@ -46,9 +46,7 @@
     public void run() {
         // INSTANTIATION{Cell(run,val)}
         // ==> run ? [ read(r)={...} & write(newVal)={...} ]
-        object(new ReceiveProcess() {
-            private static final long serialVersionUID = 8883128084307471572L;
-        }.setChannel(_self).setReceiver(new Cell() {
+        object(new ReceiveProcess().setChannel(_self).setReceiver(new Cell() {
             public void read(Val r) {
                 // COMMUNICATION{x & [read... & ... ] | x ! read} ==> Cell(run, val) ...
                 instance(new CELL_<T>(_self, _val));
diff --git a/src/test/java/org/apache/ode/jacob/examples/eratosthenes/Sieve.java b/src/test/java/org/apache/ode/jacob/examples/eratosthenes/Sieve.java
index 61b1438..034b399 100644
--- a/src/test/java/org/apache/ode/jacob/examples/eratosthenes/Sieve.java
+++ b/src/test/java/org/apache/ode/jacob/examples/eratosthenes/Sieve.java
@@ -73,9 +73,7 @@
 
     public void run() {
         Synch ret = newChannel(Synch.class);
-        object(new ReceiveProcess() {
-            private static final long serialVersionUID = -4336285925619915276L;
-        }.setChannel(ret).setReceiver(new Synch() {
+        object(new ReceiveProcess().setChannel(ret).setReceiver(new Synch() {
             public void ret() {
                 instance(new Counter(_out, _n+1));
             }
@@ -106,14 +104,10 @@
     }
 
     public void run() {
-      object(new ReceiveProcess() {
-          private static final long serialVersionUID = -2145752474431263689L;
-      }.setChannel(_in).setReceiver(new NaturalNumberStream() {
+      object(new ReceiveProcess().setChannel(_in).setReceiver(new NaturalNumberStream() {
         public void val(final int n, final Synch ret) {
             Synch r = newChannel(Synch.class);
-            object(new ReceiveProcess() {
-                private static final long serialVersionUID = -3009595654233593893L;
-            }.setChannel(r).setReceiver(new Synch() {
+            object(new ReceiveProcess().setChannel(r).setReceiver(new Synch() {
                 public void ret() {
                   NaturalNumberStream x = newChannel(NaturalNumberStream.class);
                   instance(new PrimeFilter(n, _in, x));
@@ -135,9 +129,7 @@
       _in = in;
     }
     public void run() {
-      object(true, new ReceiveProcess() {
-          private static final long serialVersionUID = 7671019806323866866L;
-      }.setChannel(_in).setReceiver(new NaturalNumberStream(){
+      object(true, new ReceiveProcess().setChannel(_in).setReceiver(new NaturalNumberStream(){
         public void val(int n, Synch ret) {
           _cnt ++;
           _last = n;
@@ -169,15 +161,11 @@
       _out = out;
     }
     public void run() {
-       object(true, new ReceiveProcess() {
-           private static final long serialVersionUID = 2523405590764193613L;
-       }.setChannel(_in).setReceiver(new NaturalNumberStream() {
+       object(true, new ReceiveProcess().setChannel(_in).setReceiver(new NaturalNumberStream() {
           public void val(int n, final Synch ret) {
               if (n % _prime != 0) {
                   Synch r = newChannel(Synch.class);
-                  object(new ReceiveProcess() {
-                      private static final long serialVersionUID = 2523405590764193613L;
-                  }.setChannel(r).setReceiver(new Synch() {
+                  object(new ReceiveProcess().setChannel(r).setReceiver(new Synch() {
                       public void ret() {
                           ret.ret();
                       }
diff --git a/src/test/java/org/apache/ode/jacob/examples/helloworld/HelloWorld.java b/src/test/java/org/apache/ode/jacob/examples/helloworld/HelloWorld.java
index 45b51a0..2253699 100644
--- a/src/test/java/org/apache/ode/jacob/examples/helloworld/HelloWorld.java
+++ b/src/test/java/org/apache/ode/jacob/examples/helloworld/HelloWorld.java
@@ -77,10 +77,9 @@
         }
 
         public void run() {
-            object(true, new ReliablePrinterReceiveProcess().setChannel(in).setReceiver(new ReliablePrinterCallback()));
+            object(true, new ReceiveProcess().setChannel(in).setReceiver(new ReliablePrinterCallback()));
         }
 
-        static class ReliablePrinterReceiveProcess extends ReceiveProcess {}
         static class ReliablePrinterCallback implements Callback<String, Synch> {
             public void invoke(String value, Synch callback) {
                 System.out.println(value);
@@ -101,11 +100,10 @@
 
         public void run() {
             Synch callback = newChannel(Synch.class, "callback channel to ACK " + str);
-            object(new ReliableStringEmitterReceiveProcess().setChannel(callback).setReceiver(new ReliableStringEmitterSynch(str)));
+            object(new ReceiveProcess().setChannel(callback).setReceiver(new ReliableStringEmitterSynch(str)));
             to.invoke(str, callback);
         }
 
-        static class ReliableStringEmitterReceiveProcess extends ReceiveProcess {}
         static class ReliableStringEmitterSynch implements Synch {
             private String str;
 
@@ -129,10 +127,9 @@
         }
 
         public void run() {
-            object(true, new PrinterProcessReceiveProcess().setChannel(_in).setReceiver(new PrinterProcessVal()));
+            object(true, new ReceiveProcess().setChannel(_in).setReceiver(new PrinterProcessVal()));
         }
 
-        static class PrinterProcessReceiveProcess extends ReceiveProcess {}
         static class PrinterProcessVal implements Val {
             public void val(Object o) {
                 System.out.println(o);
@@ -166,10 +163,9 @@
         }
 
         public void run() {
-             object(true, new ForwarderProcessReceiveProcess().setChannel(in).setReceiver(new ForwarderProcessVal(out)));
+             object(true, new ReceiveProcess().setChannel(in).setReceiver(new ForwarderProcessVal(out)));
         }
 
-        static class ForwarderProcessReceiveProcess extends ReceiveProcess {}
         static class ForwarderProcessVal implements Val {
             private Val out;
             @JsonCreator
diff --git a/src/test/java/org/apache/ode/jacob/examples/sequence/Sequence.java b/src/test/java/org/apache/ode/jacob/examples/sequence/Sequence.java
index 17ee867..659cf9e 100644
--- a/src/test/java/org/apache/ode/jacob/examples/sequence/Sequence.java
+++ b/src/test/java/org/apache/ode/jacob/examples/sequence/Sequence.java
@@ -53,7 +53,7 @@
             }
         } else {
             Synch r = newChannel(Synch.class);
-            object(new SequenceReceiveProcess().setChannel(r).setReceiver(new SequenceSynch(data, this)));
+            object(new ReceiveProcess().setChannel(r).setReceiver(new SequenceSynch(data, this)));
             instance(doStep(data._current, r));
         }
     }
@@ -73,7 +73,6 @@
         //public Sequence _seq;
     }
 
-    static class SequenceReceiveProcess extends ReceiveProcess {}
     static class SequenceSynch implements Synch {
         private final SequenceData data;
         private final Sequence parent;
diff --git a/src/test/java/org/apache/ode/jacob/examples/synch/SynchPrinter.java b/src/test/java/org/apache/ode/jacob/examples/synch/SynchPrinter.java
index 2b07dfa..bdaf878 100644
--- a/src/test/java/org/apache/ode/jacob/examples/synch/SynchPrinter.java
+++ b/src/test/java/org/apache/ode/jacob/examples/synch/SynchPrinter.java
@@ -45,9 +45,7 @@
 
         @SuppressWarnings("serial")
         public void run() {
-            object(true, new ReceiveProcess() {
-                private static final long serialVersionUID = -1990741944766989782L;
-            }.setChannel(_self).setReceiver(new SynchPrint() {
+            object(true, new ReceiveProcess().setChannel(_self).setReceiver(new SynchPrint() {
                 public Synch print(String msg) {
                     System.out.println(msg);
                     return null; // Synch channel automatically created by JacobVPU