title: Wrong task ordering in capistrano v3.2
body: <p>I don't understand task ordering in capistrano. (Using 3.2 version)</p>
  
  <p><strong>UPDATED example of code</strong></p>
  
  <p><code>test_ordering.cap</code> file contains:</p>
  
  <pre><code>namespace :test_ordering do
  
    desc 'Starting task'
    task :start_testing do
      puts 'This task must be in the middle'
    end
  
    desc 'First message'
    task :first_message do
      puts 'This task must fire first, before starting task'
    end
  
    desc 'Second message'
    task :second_message do
      puts 'This task must be the last'
    end
  
    before 'test_ordering:start_testing', 'test_ordering:first_message'
    after 'test_ordering:start_testing', 'test_ordering:second_message'
  end
  </code></pre>
  
  <p>When I'm doing <code>bundle exec cap staging test_ordering:start_testing</code> it returns:</p>
  
  <pre><code>ruby 2.0.0p451 (2014-02-24 revision 45167) [i686-linux]
  This task must be in the middle
  This task must fire first, before starting task
  This task must be the last
  </code></pre>
  
  <p>Why does 'before' fires after the 'prepare' task?
  My environment uses Ruby 2.0.0p451, Rails 4.0.4, and Capistrano 3.2.</p>