Use std::function

Replace CallableHolder with std::function.  No need to re-invent
the wheel.

Change-Id: I2647a802237dba4a48187718f0d3da59e97575d7
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/actions.hpp b/actions.hpp
index 2fea212..403dca1 100644
--- a/actions.hpp
+++ b/actions.hpp
@@ -2,6 +2,7 @@
 
 #include <utility>
 #include <memory>
+#include <functional>
 #include "utils.hpp"
 #include "types.hpp"
 
@@ -15,10 +16,7 @@
 class Manager;
 namespace details
 {
-using ActionBase = holder::CallableBase<void, sdbusplus::bus::bus&, Manager&>;
-using ActionBasePtr = std::shared_ptr<ActionBase>;
-template <typename T>
-using Action = holder::CallableHolder<T, void, sdbusplus::bus::bus&, Manager&>;
+using Action = std::function<void (sdbusplus::bus::bus&, Manager&)>;
 
 /** @brief make_action
  *
@@ -32,8 +30,7 @@
 template <typename T>
 auto make_action(T&& action)
 {
-    return Action<T>::template make_shared<Action<T>>(
-        std::forward<T>(action));
+    return Action(std::forward<T>(action));
 }
 } // namespace details
 
@@ -43,7 +40,7 @@
 /** @brief Destroy objects action.  */
 inline auto destroyObjects(std::vector<const char*>&& paths)
 {
-    return [=](auto&, auto & m)
+    return [ = ](auto&, auto & m)
     {
         m.destroyObjects(paths);
     };
@@ -53,7 +50,7 @@
 inline auto createObjects(
     std::map<sdbusplus::message::object_path, Object>&& objs)
 {
-    return [=](auto&, auto & m)
+    return [ = ](auto&, auto & m)
     {
         m.createObjects(objs);
     };