Reset data value when dependent values changes

Closes #7

One of the worse hack ever but, from my undestanding if a component dependencies' values are different it's because @props.onDataChanged was triggered by another one so we are still in the @props.onDataChanged setState or  in the render of another component aka yeah we lost control and should use immutable structure