title: How to make hooks (afterStep) to run and finish before next step is executed?
body: <p>Using wdio v4 + cucumber i used some afterSteps and know im trying to use the same in v5 + cucumber but it seems not to be running in order.
  On my afterStep i have certain validations, i.e. if result.status === failed then i take a screenshot and do some extra steps, the problem is i am able to take the screenshot but im never able to do the extra steps because when the afterStep is executed, the runner is already executing another test case.</p>
  
  <p>Sometimes it successfully takes the screenshot of the page with the error, but the other steps are never completed since when it gets there, the runner is already executing another test case..</p>
  
  <p>This is the code im using on my afterStep for the v5 (updated from v4):</p>
  
  <pre><code>afterStep: function (uri, feature, scenario, step, result) {
          if (result.status === 'failed') {
              const path =  './errorShots/'+Date.now()+'.png';
              browser.saveScreenshot(path);
              const allitems = $('.slds-icon-waffle');
              const logoutBut = $('button[title="Logout"]');
              const adminMenu = $('.oneAppLauncherItemList a[title="Parsable Admin"]');
              const sfProfilelogo = $('.profileTrigger');
              const sflogOut = $('.profile-link-label.logout.uiOutputURL');
              this.allitems.waitForDisplayed();
              this.allitems.click();
              this.adminMenu.waitForVisible();
              this.adminMenu.click();
              browser.pause(2000)
              if (this.logoutBut.isVisible()) {   
                  this.logoutBut.click();
              }
              this.sfProfilelogo.waitForVisible();
              this.sfProfilelogo.click();
              this.sflogOut.waitForVisible();
              this.sflogOut.click();
          } 
          console.log(step.text + ' is ' + result.status)
      },
  </code></pre>
  
  <p>**WebdriverIO version: v5.11.2
  **Mode:Selenium Standalone
  **If WDIO Testrunner, running sync/async: sync
  **Node.js version: v10.16.0
  **NPM version: v6.9.0
  **Browser name and version: Chrome
  **Platform name and version: MacOS</p>
  
  <p>How can i ensure the afterStep is completely executed before the next step is executed?
  I have tried using promises but im not sure if i was implementing well, any help?</p>