public void Execute()
 {
     m_test = (SA_BaseTest)Activator.CreateInstance(m_testConfig.TestReference.Type);
     OnTestStart.Invoke();
     OnTestStart      = delegate { };
     m_test.OnResult += TestResultHandler;
     if (!m_test.RequireUserInteraction)
     {
         // m_timeoutCoroutine = SA_Coroutine.WaitForSeconds(TIMEOUT, OnTimeOut);
         SA_Coroutine.WaitForSeconds(TIMEOUT, OnTimeOut);
     }
     try {
         m_test.Test();
     }
     catch (Exception e) {
         ClearListener();
         FireResult(SA_TestResult.WithError("Failed with Exception " + e.GetBaseException().Message));
     }
 }
 private void TestResultHandler(SA_BaseTest target, SA_TestResult obj)
 {
     ClearListener();
     FireResult(obj);
 }