Iron router execute controller twice?

Hello here,
i have a problem with iron router, i didn’t understand why the controller is fire twice. And the second time the model is empty.

Router.configure({
  layoutTemplate: 'layout',
  loadingTemplate: 'loading'
});

Router.route('/', {name: 'home', controller: 'MainController'});
Router.route('/feed/:lat/:lng',{name: 'feed', controller: 'FeedController'})
Router.route('/Login', {name: 'login', controller: 'LoginController'});
Router.route('/Comment/:_id', {name: 'comment', controller: 'CommentController'});
CommentController = RouteController.extend({
 action: function() {
  this.render('commentView', {
    data: function () {
       return {event: Events.findOne({_id: this.params._id})}
    },
    waitOn: function(){
        return Meteor.subscribe("events");
    }
  });
}
});

well, maybe cause subscribe is reactive and you use it in action: which re-render every time something reactive change there ?

I dont understand what is waitOn doing inside render instead of under controller etc…
But I am not using IR anymore, just I never seen this pattern of using it.

Was a probleme with subscribe who return nothing without parameters, aniway it’s my bad