Index: src/Fragmentation/Automation/Controller/CommandRegistry.cpp
===================================================================
--- src/Fragmentation/Automation/Controller/CommandRegistry.cpp	(revision fe95b7a95acf0c88e89ca17057d71a53c556f761)
+++ src/Fragmentation/Automation/Controller/CommandRegistry.cpp	(revision f98c8e7d28a6990e8994ca30458c622fd31c4cf9)
@@ -34,3 +34,3 @@
 {}
 
-CONSTRUCT_REGISTRY(Operation)
+CONSTRUCT_REGISTRY(AsyncOperation)
Index: src/Fragmentation/Automation/Controller/CommandRegistry.hpp
===================================================================
--- src/Fragmentation/Automation/Controller/CommandRegistry.hpp	(revision fe95b7a95acf0c88e89ca17057d71a53c556f761)
+++ src/Fragmentation/Automation/Controller/CommandRegistry.hpp	(revision f98c8e7d28a6990e8994ca30458c622fd31c4cf9)
@@ -14,8 +14,8 @@
 #endif
 
-#include "Controller/Commands/Operation.hpp"
+#include "Controller/Commands/AsyncOperation.hpp"
 #include "CodePatterns/Registry.hpp"
 
-class CommandRegistry : public Registry<Operation>
+class CommandRegistry : public Registry<AsyncOperation>
 {
 public:
Index: src/Fragmentation/Automation/Controller/Commands/AsyncOperation.cpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/AsyncOperation.cpp	(revision f98c8e7d28a6990e8994ca30458c622fd31c4cf9)
+++ src/Fragmentation/Automation/Controller/Commands/AsyncOperation.cpp	(revision f98c8e7d28a6990e8994ca30458c622fd31c4cf9)
@@ -0,0 +1,98 @@
+/*
+ * Project: MoleCuilder
+ * Description: creates and alters molecular systems
+ * Copyright (C)  2011 University of Bonn. All rights reserved.
+ * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
+ */
+
+/*
+ * AsyncOperation.cpp
+ *
+ *  Created on: Nov 11, 2011
+ *      Author: heber
+ */
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+// boost asio needs specific operator new
+#include <boost/asio.hpp>
+
+#include "CodePatterns/MemDebug.hpp"
+
+#include <boost/bind.hpp>
+#include <vector>
+#include "Connection.hpp" // Must come before boost/serialization headers.
+#include "CodePatterns/Info.hpp"
+#include "CodePatterns/Log.hpp"
+
+#include "Controller/Commands/AsyncOperation.hpp"
+
+
+/** Constructor for class AsyncOperation.
+ *
+ * \param _name name for this Operation for retrieval from a registry
+ * \param _connection connection to operate on
+ */
+AsyncOperation::AsyncOperation(const std::string &_name, Connection &_connection) :
+    connection_(_connection),
+    name(_name),
+    Exitflag(OkFlag)
+{}
+
+/** Destructor for class AsyncOperation.
+ *
+ */
+AsyncOperation::~AsyncOperation()
+{}
+
+/** Callback function when an operation has been completed.
+ *
+ * \param e error code if something went wrong
+ */
+void AsyncOperation::handle_FinishOperation(const boost::system::error_code& e)
+{
+  Info info(__FUNCTION__);
+  if (!e)
+  {
+    LOG(1, "INFO: AsyncOperation completed.");
+  }
+  else
+  {
+    // An error occurred.
+    Exitflag = ErrorFlag;
+    ELOG(1, e.message());
+  }
+
+  // Since we are not starting a new operation the io_service will run out of
+  // work to do and the client will exit.
+  disconnect();
+}
+
+/** Internal function to disconnect connection_ correctly.
+ *
+ */
+void AsyncOperation::disconnect()
+{
+  connection_.socket().close();
+}
+
+void AsyncOperation::operator()(const std::string& _host, const std::string& _service)
+{
+  Info info(__FUNCTION__);
+  // Resolve the host name into an IP address.
+  boost::asio::ip::tcp::resolver resolver(connection_.socket().get_io_service());
+  boost::asio::ip::tcp::resolver::query query(_host, _service);
+  boost::asio::ip::tcp::resolver::iterator endpoint_iterator =
+    resolver.resolve(query);
+  boost::asio::ip::tcp::endpoint endpoint = *endpoint_iterator;
+
+  // Start an asynchronous connect operation.
+  std::cout << "Connecting to endpoint " << endpoint << " ..." << std::endl;
+  connection_.socket().async_connect(endpoint,
+    boost::bind(&AsyncOperation::handle_connect, this,
+      boost::asio::placeholders::error, ++endpoint_iterator));
+}
Index: src/Fragmentation/Automation/Controller/Commands/AsyncOperation.hpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/AsyncOperation.hpp	(revision f98c8e7d28a6990e8994ca30458c622fd31c4cf9)
+++ src/Fragmentation/Automation/Controller/Commands/AsyncOperation.hpp	(revision f98c8e7d28a6990e8994ca30458c622fd31c4cf9)
@@ -0,0 +1,70 @@
+/*
+ * AsyncOperation.hpp
+ *
+ *  Created on: Nov 11, 2011
+ *      Author: heber
+ */
+
+#ifndef FRAGMENTCONTROLLER_ASYNCOPERATION_HPP_
+#define FRAGMENTCONTROLLER_ASYNCOPERATION_HPP_
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <boost/asio.hpp>
+#include <string>
+#include <vector>
+
+#include "Connection.hpp"
+
+class AsyncOperation {
+public:
+  AsyncOperation(const std::string &_name, Connection &_connection);
+  virtual ~AsyncOperation();
+public:
+  /// The Connection to the server.
+  Connection &connection_;
+
+  // virtual function pointer to the operation to do
+  void operator()(const std::string& _host, const std::string& _service);
+
+  // virtual function pointer to the connection handler
+  virtual void handle_connect(const boost::system::error_code& e,
+      boost::asio::ip::tcp::resolver::iterator endpoint_iterator) = 0;
+
+  /// Handle completion of an operation.
+  void handle_FinishOperation(const boost::system::error_code& e);
+
+  enum Exitflag_t {
+    OkFlag = 0,
+    ErrorFlag = 255
+  };
+
+  /** Getter for Exitflag.
+   *
+   * @return Exitflag
+   */
+  size_t getExitflag() const
+  {
+    return Exitflag;
+  }
+
+  std::string getName() const {
+    return name;
+  }
+
+private:
+  /// Name of this Operation (required for Registry pattern)
+  std::string name;
+
+protected:
+  /// internal function to disconnect from server
+  void disconnect();
+
+  // exit flag of this operation
+  enum Exitflag_t Exitflag;
+};
+
+#endif /* FRAGMENTCONTROLLER_ASYNCOPERATION_HPP_ */
Index: src/Fragmentation/Automation/Controller/Commands/CheckResultsOperation.hpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/CheckResultsOperation.hpp	(revision fe95b7a95acf0c88e89ca17057d71a53c556f761)
+++ src/Fragmentation/Automation/Controller/Commands/CheckResultsOperation.hpp	(revision f98c8e7d28a6990e8994ca30458c622fd31c4cf9)
@@ -19,5 +19,5 @@
 #include "Connection.hpp"
 
-#include "Controller/Commands/Operation.hpp"
+#include "Controller/Commands/AsyncOperation.hpp"
 
 /** This Operations requests number of present jobs and present results (done
@@ -25,9 +25,9 @@
  *
  */
-class CheckResultsOperation : public Operation  {
+class CheckResultsOperation : public AsyncOperation  {
 public:
   /// Constructor for class CheckResultsOperation.
   CheckResultsOperation(Connection &_connection) :
-    Operation(std::string("checkresults"), _connection),
+    AsyncOperation(std::string("checkresults"), _connection),
     jobInfo((size_t)2, 0)
         {}
Index: src/Fragmentation/Automation/Controller/Commands/EnrollInPoolOperation.cpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/EnrollInPoolOperation.cpp	(revision fe95b7a95acf0c88e89ca17057d71a53c556f761)
+++ src/Fragmentation/Automation/Controller/Commands/EnrollInPoolOperation.cpp	(revision f98c8e7d28a6990e8994ca30458c622fd31c4cf9)
@@ -91,4 +91,4 @@
     LOG(2, "DEBUG: Enrollment failed.");
 
-  Operation::handle_FinishOperation(e);
+  AsyncOperation::handle_FinishOperation(e);
 }
Index: src/Fragmentation/Automation/Controller/Commands/EnrollInPoolOperation.hpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/EnrollInPoolOperation.hpp	(revision fe95b7a95acf0c88e89ca17057d71a53c556f761)
+++ src/Fragmentation/Automation/Controller/Commands/EnrollInPoolOperation.hpp	(revision f98c8e7d28a6990e8994ca30458c622fd31c4cf9)
@@ -21,14 +21,14 @@
 #include "Connection.hpp"
 
-#include "Controller/Commands/Operation.hpp"
+#include "Controller/Commands/AsyncOperation.hpp"
 #include "Jobs/FragmentJob.hpp"
 #include "Results/FragmentResult.hpp"
 #include "WorkerAddress.hpp"
 
-class EnrollInPoolOperation : public Operation  {
+class EnrollInPoolOperation : public AsyncOperation  {
 public:
   /// Constructor for class EnrollInPoolOperation.
   EnrollInPoolOperation(Connection &_connection, const WorkerAddress &_address) :
-    Operation(std::string("enrollinpool"),_connection),
+    AsyncOperation(std::string("enrollinpool"),_connection),
     address(_address),
     flag(Success)
Index: src/Fragmentation/Automation/Controller/Commands/GetNextJobIdOperation.cpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/GetNextJobIdOperation.cpp	(revision fe95b7a95acf0c88e89ca17057d71a53c556f761)
+++ src/Fragmentation/Automation/Controller/Commands/GetNextJobIdOperation.cpp	(revision f98c8e7d28a6990e8994ca30458c622fd31c4cf9)
@@ -101,5 +101,5 @@
 
   // and finish operation
-  Operation::handle_FinishOperation(e);
+  AsyncOperation::handle_FinishOperation(e);
 }
 
Index: src/Fragmentation/Automation/Controller/Commands/GetNextJobIdOperation.hpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/GetNextJobIdOperation.hpp	(revision fe95b7a95acf0c88e89ca17057d71a53c556f761)
+++ src/Fragmentation/Automation/Controller/Commands/GetNextJobIdOperation.hpp	(revision f98c8e7d28a6990e8994ca30458c622fd31c4cf9)
@@ -18,5 +18,5 @@
 #include "Connection.hpp"
 
-#include "Controller/Commands/Operation.hpp"
+#include "Controller/Commands/AsyncOperation.hpp"
 #include "JobId.hpp"
 #include "types.hpp"
@@ -26,9 +26,9 @@
  *
  */
-class GetNextJobIdOperation : public Operation  {
+class GetNextJobIdOperation : public AsyncOperation  {
 public:
   /// Constructor for class GetNextJobIdOperation.
   GetNextJobIdOperation(Connection &_connection) :
-    Operation(std::string("getnextjobid"), _connection),
+    AsyncOperation(std::string("getnextjobid"), _connection),
     nextid(JobId::IllegalJob)
   {}
Index: src/Fragmentation/Automation/Controller/Commands/ObtainJobOperation.cpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/ObtainJobOperation.cpp	(revision fe95b7a95acf0c88e89ca17057d71a53c556f761)
+++ src/Fragmentation/Automation/Controller/Commands/ObtainJobOperation.cpp	(revision f98c8e7d28a6990e8994ca30458c622fd31c4cf9)
@@ -66,4 +66,4 @@
   LOG(1, "INFO: Received job #" << job->getId() << ".");
 
-  Operation::handle_FinishOperation(e);
+  AsyncOperation::handle_FinishOperation(e);
 }
Index: src/Fragmentation/Automation/Controller/Commands/ObtainJobOperation.hpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/ObtainJobOperation.hpp	(revision fe95b7a95acf0c88e89ca17057d71a53c556f761)
+++ src/Fragmentation/Automation/Controller/Commands/ObtainJobOperation.hpp	(revision f98c8e7d28a6990e8994ca30458c622fd31c4cf9)
@@ -21,13 +21,13 @@
 #include "Connection.hpp"
 
-#include "Controller/Commands/Operation.hpp"
+#include "Controller/Commands/AsyncOperation.hpp"
 #include "Jobs/FragmentJob.hpp"
 #include "Results/FragmentResult.hpp"
 
-class ObtainJobOperation : public Operation  {
+class ObtainJobOperation : public AsyncOperation  {
 public:
   /// Constructor for class ObtainJobOperation.
   ObtainJobOperation(Connection &_connection) :
-    Operation(std::string("obtainjob"),_connection) {}
+    AsyncOperation(std::string("obtainjob"),_connection) {}
   /// Destructor for class ObtainJobOperation
   ~ObtainJobOperation() {}
Index: src/Fragmentation/Automation/Controller/Commands/Operation.cpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/Operation.cpp	(revision fe95b7a95acf0c88e89ca17057d71a53c556f761)
+++ 	(revision )
@@ -1,98 +1,0 @@
-/*
- * Project: MoleCuilder
- * Description: creates and alters molecular systems
- * Copyright (C)  2011 University of Bonn. All rights reserved.
- * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
- */
-
-/*
- * Operation.cpp
- *
- *  Created on: Nov 11, 2011
- *      Author: heber
- */
-
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-// boost asio needs specific operator new
-#include <boost/asio.hpp>
-
-#include "CodePatterns/MemDebug.hpp"
-
-#include <boost/bind.hpp>
-#include <vector>
-#include "Connection.hpp" // Must come before boost/serialization headers.
-#include "CodePatterns/Info.hpp"
-#include "CodePatterns/Log.hpp"
-
-#include "Controller/Commands/Operation.hpp"
-
-
-/** Constructor for class Operation.
- *
- * \param _name name for this Operation for retrieval from a registry
- * \param _connection connection to operate on
- */
-Operation::Operation(const std::string &_name, Connection &_connection) :
-    connection_(_connection),
-    name(_name),
-    Exitflag(OkFlag)
-{}
-
-/** Destructor for class Operation.
- *
- */
-Operation::~Operation()
-{}
-
-/** Callback function when an operation has been completed.
- *
- * \param e error code if something went wrong
- */
-void Operation::handle_FinishOperation(const boost::system::error_code& e)
-{
-  Info info(__FUNCTION__);
-  if (!e)
-  {
-    LOG(1, "INFO: Operation completed.");
-  }
-  else
-  {
-    // An error occurred.
-    Exitflag = ErrorFlag;
-    ELOG(1, e.message());
-  }
-
-  // Since we are not starting a new operation the io_service will run out of
-  // work to do and the client will exit.
-  disconnect();
-}
-
-/** Internal function to disconnect connection_ correctly.
- *
- */
-void Operation::disconnect()
-{
-  connection_.socket().close();
-}
-
-void Operation::operator()(const std::string& _host, const std::string& _service)
-{
-  Info info(__FUNCTION__);
-  // Resolve the host name into an IP address.
-  boost::asio::ip::tcp::resolver resolver(connection_.socket().get_io_service());
-  boost::asio::ip::tcp::resolver::query query(_host, _service);
-  boost::asio::ip::tcp::resolver::iterator endpoint_iterator =
-    resolver.resolve(query);
-  boost::asio::ip::tcp::endpoint endpoint = *endpoint_iterator;
-
-  // Start an asynchronous connect operation.
-  std::cout << "Connecting to endpoint " << endpoint << " ..." << std::endl;
-  connection_.socket().async_connect(endpoint,
-    boost::bind(&Operation::handle_connect, this,
-      boost::asio::placeholders::error, ++endpoint_iterator));
-}
Index: src/Fragmentation/Automation/Controller/Commands/Operation.hpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/Operation.hpp	(revision fe95b7a95acf0c88e89ca17057d71a53c556f761)
+++ 	(revision )
@@ -1,70 +1,0 @@
-/*
- * Operation.hpp
- *
- *  Created on: Nov 11, 2011
- *      Author: heber
- */
-
-#ifndef FRAGMENTCONTROLLER_OPERATION_HPP_
-#define FRAGMENTCONTROLLER_OPERATION_HPP_
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <boost/asio.hpp>
-#include <string>
-#include <vector>
-
-#include "Connection.hpp"
-
-class Operation {
-public:
-  Operation(const std::string &_name, Connection &_connection);
-  virtual ~Operation();
-public:
-  /// The Connection to the server.
-  Connection &connection_;
-
-  // virtual function pointer to the operation to do
-  void operator()(const std::string& _host, const std::string& _service);
-
-  // virtual function pointer to the connection handler
-  virtual void handle_connect(const boost::system::error_code& e,
-      boost::asio::ip::tcp::resolver::iterator endpoint_iterator) = 0;
-
-  /// Handle completion of an operation.
-  void handle_FinishOperation(const boost::system::error_code& e);
-
-  enum Exitflag_t {
-    OkFlag = 0,
-    ErrorFlag = 255
-  };
-
-  /** Getter for Exitflag.
-   *
-   * @return Exitflag
-   */
-  size_t getExitflag() const
-  {
-    return Exitflag;
-  }
-
-  std::string getName() const {
-    return name;
-  }
-
-private:
-  /// Name of this Operation (required for Registry pattern)
-  std::string name;
-
-protected:
-  /// internal function to disconnect from server
-  void disconnect();
-
-  // exit flag of this operation
-  enum Exitflag_t Exitflag;
-};
-
-#endif /* FRAGMENTCONTROLLER_OPERATION_HPP_ */
Index: src/Fragmentation/Automation/Controller/Commands/ReceiveJobsOperation.cpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/ReceiveJobsOperation.cpp	(revision fe95b7a95acf0c88e89ca17057d71a53c556f761)
+++ src/Fragmentation/Automation/Controller/Commands/ReceiveJobsOperation.cpp	(revision f98c8e7d28a6990e8994ca30458c622fd31c4cf9)
@@ -107,5 +107,5 @@
   jobs.clear();
 
-  Operation::handle_FinishOperation(e);
+  AsyncOperation::handle_FinishOperation(e);
 }
 
Index: src/Fragmentation/Automation/Controller/Commands/ReceiveJobsOperation.hpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/ReceiveJobsOperation.hpp	(revision fe95b7a95acf0c88e89ca17057d71a53c556f761)
+++ src/Fragmentation/Automation/Controller/Commands/ReceiveJobsOperation.hpp	(revision f98c8e7d28a6990e8994ca30458c622fd31c4cf9)
@@ -21,11 +21,11 @@
 #include "Jobs/FragmentJob.hpp"
 
-#include "Controller/Commands/Operation.hpp"
+#include "Controller/Commands/AsyncOperation.hpp"
 
-class ReceiveJobsOperation : public Operation {
+class ReceiveJobsOperation : public AsyncOperation {
 public:
   /// Constructor for class ReceiveJobsOperation.
   ReceiveJobsOperation(Connection &_connection) :
-    Operation(std::string("receivejobs"), _connection) {}
+    AsyncOperation(std::string("receivejobs"), _connection) {}
   /// Destructor for class ReceiveJobsOperation
   ~ReceiveJobsOperation() {}
Index: src/Fragmentation/Automation/Controller/Commands/SendJobToWorkerOperation.hpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/SendJobToWorkerOperation.hpp	(revision fe95b7a95acf0c88e89ca17057d71a53c556f761)
+++ src/Fragmentation/Automation/Controller/Commands/SendJobToWorkerOperation.hpp	(revision f98c8e7d28a6990e8994ca30458c622fd31c4cf9)
@@ -20,14 +20,14 @@
 #include "Connection.hpp"
 
-#include "Controller/Commands/Operation.hpp"
+#include "Controller/Commands/AsyncOperation.hpp"
 #include "Jobs/FragmentJob.hpp"
 #include "Jobs/SystemCommandJob.hpp"
 #include "WorkerAddress.hpp"
 
-class SendJobToWorkerOperation : public Operation  {
+class SendJobToWorkerOperation : public AsyncOperation  {
 public:
   /// Constructor for class SendJobToWorkerOperation.
   SendJobToWorkerOperation(Connection &_connection) :
-    Operation(std::string("sendjobtoworker"),_connection),
+    AsyncOperation(std::string("sendjobtoworker"),_connection),
     job( new SystemCommandJob(std::string("/bin/true"), std::string("donothing"), JobId::NoJob) )
   {}
Index: src/Fragmentation/Automation/Controller/Commands/SendResultsOperation.cpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/SendResultsOperation.cpp	(revision fe95b7a95acf0c88e89ca17057d71a53c556f761)
+++ src/Fragmentation/Automation/Controller/Commands/SendResultsOperation.cpp	(revision f98c8e7d28a6990e8994ca30458c622fd31c4cf9)
@@ -105,5 +105,5 @@
   LOG(1, "INFO: Received "+toString(results.size())+" results.");
 
-  Operation::handle_FinishOperation(e);
+  AsyncOperation::handle_FinishOperation(e);
 }
 
Index: src/Fragmentation/Automation/Controller/Commands/SendResultsOperation.hpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/SendResultsOperation.hpp	(revision fe95b7a95acf0c88e89ca17057d71a53c556f761)
+++ src/Fragmentation/Automation/Controller/Commands/SendResultsOperation.hpp	(revision f98c8e7d28a6990e8994ca30458c622fd31c4cf9)
@@ -21,11 +21,11 @@
 #include "Results/FragmentResult.hpp"
 
-#include "Controller/Commands/Operation.hpp"
+#include "Controller/Commands/AsyncOperation.hpp"
 
-class SendResultsOperation : public Operation  {
+class SendResultsOperation : public AsyncOperation  {
 public:
   /// Constructor for class SendResultsOperation.
   SendResultsOperation(Connection &_connection) :
-    Operation(std::string("sendresults"), _connection) {}
+    AsyncOperation(std::string("sendresults"), _connection) {}
   /// Destructor for class SendResultsOperation
   ~SendResultsOperation() {}
Index: src/Fragmentation/Automation/Controller/Commands/ShutdownOperation.hpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/ShutdownOperation.hpp	(revision fe95b7a95acf0c88e89ca17057d71a53c556f761)
+++ src/Fragmentation/Automation/Controller/Commands/ShutdownOperation.hpp	(revision f98c8e7d28a6990e8994ca30458c622fd31c4cf9)
@@ -20,11 +20,11 @@
 #include "Connection.hpp"
 
-#include "Controller/Commands/Operation.hpp"
+#include "Controller/Commands/AsyncOperation.hpp"
 
-class ShutdownOperation : public Operation  {
+class ShutdownOperation : public AsyncOperation  {
 public:
   /// Constructor for class ShutdownOperation.
   ShutdownOperation(Connection &_connection) :
-    Operation(std::string("shutdown"),_connection) {}
+    AsyncOperation(std::string("shutdown"),_connection) {}
   /// Destructor for class ShutdownOperation
   ~ShutdownOperation() {}
Index: src/Fragmentation/Automation/Controller/Commands/SubmitResultOperation.cpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/SubmitResultOperation.cpp	(revision fe95b7a95acf0c88e89ca17057d71a53c556f761)
+++ src/Fragmentation/Automation/Controller/Commands/SubmitResultOperation.cpp	(revision f98c8e7d28a6990e8994ca30458c622fd31c4cf9)
@@ -89,5 +89,5 @@
   if (!e) {
     LOG(1, "INFO: result #" << result->getId() << " sent.");
-    Operation::handle_FinishOperation(e);
+    AsyncOperation::handle_FinishOperation(e);
   } else {
     // An error occurred. Log it and return. Since we are not starting a new
Index: src/Fragmentation/Automation/Controller/Commands/SubmitResultOperation.hpp
===================================================================
--- src/Fragmentation/Automation/Controller/Commands/SubmitResultOperation.hpp	(revision fe95b7a95acf0c88e89ca17057d71a53c556f761)
+++ src/Fragmentation/Automation/Controller/Commands/SubmitResultOperation.hpp	(revision f98c8e7d28a6990e8994ca30458c622fd31c4cf9)
@@ -21,14 +21,14 @@
 #include "Connection.hpp"
 
-#include "Controller/Commands/Operation.hpp"
+#include "Controller/Commands/AsyncOperation.hpp"
 #include "Jobs/FragmentJob.hpp"
 #include "Results/FragmentResult.hpp"
 #include "WorkerAddress.hpp"
 
-class SubmitResultOperation : public Operation  {
+class SubmitResultOperation : public AsyncOperation  {
 public:
   /// Constructor for class SubmitResultOperation.
   SubmitResultOperation(Connection &_connection, const WorkerAddress &_address) :
-    Operation(std::string("submitresult"),_connection),
+    AsyncOperation(std::string("submitresult"),_connection),
     result( new FragmentResult(JobId::NoJob, std::string("EmptyResult")) ),
     address(_address),
Index: src/Fragmentation/Automation/Controller/FragmentController.cpp
===================================================================
--- src/Fragmentation/Automation/Controller/FragmentController.cpp	(revision fe95b7a95acf0c88e89ca17057d71a53c556f761)
+++ src/Fragmentation/Automation/Controller/FragmentController.cpp	(revision f98c8e7d28a6990e8994ca30458c622fd31c4cf9)
@@ -28,5 +28,4 @@
 
 #include "Controller/FragmentController.hpp"
-#include "Controller/Commands/Operation.hpp"
 #include "Controller/Commands/CheckResultsOperation.hpp"
 #include "Controller/Commands/GetNextJobIdOperation.hpp"
Index: src/Fragmentation/Automation/Makefile.am
===================================================================
--- src/Fragmentation/Automation/Makefile.am	(revision fe95b7a95acf0c88e89ca17057d71a53c556f761)
+++ src/Fragmentation/Automation/Makefile.am	(revision f98c8e7d28a6990e8994ca30458c622fd31c4cf9)
@@ -43,9 +43,9 @@
 
 FRAGMENTATIONCOMMANDSSOURCE = \
+  Controller/Commands/AsyncOperation.cpp \
   Controller/Commands/CheckResultsOperation.cpp \
   Controller/Commands/EnrollInPoolOperation.cpp \
   Controller/Commands/GetNextJobIdOperation.cpp \
   Controller/Commands/ObtainJobOperation.cpp \
-  Controller/Commands/Operation.cpp \
   Controller/Commands/ReceiveJobsOperation.cpp \
   Controller/Commands/SendJobToWorkerOperation.cpp \
@@ -56,9 +56,9 @@
 FRAGMENTATIONCOMMANDSHEADER = \
   ControllerChoices.hpp \
+  Controller/Commands/AsyncOperation.hpp \
   Controller/Commands/CheckResultsOperation.hpp \
   Controller/Commands/EnrollInPoolOperation.hpp \
   Controller/Commands/GetNextJobIdOperation.hpp \
   Controller/Commands/ObtainJobOperation.hpp \
-  Controller/Commands/Operation.hpp \
   Controller/Commands/ReceiveJobsOperation.hpp \
   Controller/Commands/SendJobToWorkerOperation.hpp \
Index: src/Fragmentation/Automation/Pool/PoolWorker.cpp
===================================================================
--- src/Fragmentation/Automation/Pool/PoolWorker.cpp	(revision fe95b7a95acf0c88e89ca17057d71a53c556f761)
+++ src/Fragmentation/Automation/Pool/PoolWorker.cpp	(revision f98c8e7d28a6990e8994ca30458c622fd31c4cf9)
@@ -69,5 +69,5 @@
   enrollOp(connection_, address),
   submitOp(connection_, address),
-  submitresult(boost::bind(&Operation::operator(),
+  submitresult(boost::bind(&AsyncOperation::operator(),
       boost::ref(submitOp),
       _host, _service))
