manage state inside component
do not reconciliate on identical state
disable whole page re-render