diff --git a/Implab.v11.suo b/Implab.v11.suo
index 12ae8b2c29f54ee7562c00d4b4e5890f43c7d69a..c371d5afdf7e3cfb5ab2092a2baa4b698305b78e
GIT binary patch
literal 90112
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

diff --git a/Implab/Promise.cs b/Implab/Promise.cs
--- a/Implab/Promise.cs
+++ b/Implab/Promise.cs
@@ -316,7 +316,7 @@ namespace Implab {
             var medium = new Promise<T>(this, true);
 
             AddHandler(
-                null,
+                x => medium.Resolve(x),
                 e => {
                     try {
                         medium.Resolve(handler(e));
@@ -541,12 +541,12 @@ namespace Implab {
                 // if the promise have been resolved while we was adding handler to the queue
                 // we can't guarantee that someone is still processing it
                 // therefore we will fetch a handler from the queue and execute it
-                // note that fetched handler may be not the one we have added
+                // note that fetched handler may be not the one that we have added
+                // even we can fetch no handlers at all :)
                 InvokeHandler(handler);
-
         }
 
-        void InvokeHandler(HandlerDescriptor handler) {
+        protected virtual void InvokeHandler(HandlerDescriptor handler) {
             switch (m_state) {
                 case SucceededState:
                     handler.Resolve(m_result);