Fix a bug with new interface signals

When creating new objects, Defer sending of interface added
signals until all interfaces have been created.

Change-Id: I031846861bb8f569be054e1d0303810fc0dd6ba6
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/manager.cpp b/manager.cpp
index 4f56e7a..264037f 100644
--- a/manager.cpp
+++ b/manager.cpp
@@ -148,8 +148,11 @@
         // a container.
         InterfaceComposite ref;
 
+        auto i = object.size();
         for (auto& x : object)
         {
+            // Defer sending any signals until the last interface.
+            auto deferSignals = --i != 0;
             auto maker = _makers.find(x.first.c_str());
 
             if (maker == _makers.end())
@@ -157,7 +160,7 @@
                     "Unimplemented interface: " + x.first);
 
             ref.emplace(x.first,
-                        (maker->second)(_bus, path.str.c_str()));
+                        (maker->second)(_bus, path.str.c_str(), deferSignals));
         }
 
         if (!ref.empty())