Handling rotation in a cleaner way

  * _state attribute only updated at the end of the interaction
  * setBox method called without argument will position zonard as it is
    described in _state object