 
       return stepsByWeek
 
-    scope.$watch('minDate + maxDate + steps.length', ->
+    scope.$watchGroup(['minDate', 'maxDate', 'steps'], ->
       return if not scope.steps?
       for step in scope.steps
         stepDate = moment(step.value)

      period = step.step
      amount = step.amount

      scope.steps = for i in [0..amount] by 1
        currentStep = {
          past: step.compare(stepDate, scope.position) < 0
          future: step.compare(stepDate, scope.position) > 0

                             view="view"
                             active-before="rab"
                             active-after="raa"
                             hovered="hover"
                             min-date="min"
                             max-date="max">
    </div>
    <div class='right'>
      <moment-datetimepicker selected="middle"
