title: Stage.enter doesn't start the wizard
body: <p>I created an application which display a survey wizard to the user. When the user launch the /start command, I call the <code>AddProject</code>:</p>
  
  <pre><code>const Telegraf = require('telegraf');
  const bot = new Telegraf(process.env.BOT_TOKEN);
  const session = require('telegraf/session');
  bot.use(session());
  
  const main = new TelegrafInlineMenu("Welcome.");
  main.setCommand('start');
  main.simpleButton('Start Survey', 'START_SURVEY', {
    doFunc: async ctx =&gt; surveyController.AddProject(ctx, bot)
  });
  </code></pre>
  
  <p>essentially the code above create a menu that display the label Welcome and a button to start the survey. When the user click on the button, the method AddProject is called from the surveyController:</p>
  
  <pre><code>const Composer = require('telegraf/composer');
  const stepHandler = new Composer();
  const Stage = require('telegraf/stage');
  const WizardScene = require('telegraf/scenes/wizard');
  const userController = require('../controllers/user.controller');
  
  module.exports = {
  
    AddProject: async function (ctx, bot) {
  
      const superWizard = new WizardScene('super-wizard',
        (ctx) =&gt; {
          ctx.reply('Step 1', Markup.inlineKeyboard([
            Markup.urlButton('❤️', 'http://telegraf.js.org'),
            Markup.callbackButton('➡️ Next', 'next'),
          ]).extra());
          return ctx.wizard.next();
        },
        (ctx) =&gt; {
          ctx.reply('Step 2');
          return ctx.wizard.next();
        },
        (ctx) =&gt; {
          ctx.reply('Done');
          return ctx.wizard.leave();
        },
      );
  
      const stage = new Stage([superWizard]);
      bot.use(stage.middleware());
      Stage.enter('super-wizard');
    },
  };
  </code></pre>
  
  <p>the method AddProject is firing correctly, but the wizard is not displayed, what I did wrong?</p>