diff --git a/src/Connection.js b/src/Connection.js
index <HASH>..<HASH> 100644
--- a/src/Connection.js
+++ b/src/Connection.js
@@ -8,6 +8,7 @@ var Cache = require('./Cache');
 var Process = require('./Process');
 var Request = require('./Request');
 var Response = require('./Response');
+var assert = require('./Assertions');
 
 Connection = module.exports = Class.extend({
 
@@ -45,6 +46,7 @@ Connection = module.exports = Class.extend({
 
 	send: function(properties) {
 		
+		assert.sending(properties);
 		var result = {
 			objects: [],
 			errors: []
@@ -86,6 +88,9 @@ Connection = module.exports = Class.extend({
 	
 	receive: function(request, streams) {
 		
+		this.getProcess(request, streams, function(process) {
+			streams.main.process = process;
+		}.bind(this));
 		streams.main.on('end', function() {
 			streams.main.process.end();
 		}.bind(this));
@@ -95,9 +100,6 @@ Connection = module.exports = Class.extend({
 				streams.main.process.write(value);
 			}
 		}.bind(this));
-		this.getProcess(request, streams, function(process) {
-			streams.main.process = process;
-		}.bind(this));
 	},
 	
 	getProcess: function(request, streams, callback) {
@@ -116,7 +118,7 @@ Connection = module.exports = Class.extend({
 			callback(process);
 		});
 	},
-
+	
 	process: function(processor) {
 			
 		this.register.addProcessor(processor);
Moving process creation to run before any potential of the streams being read.