independent parts of the app - make something the first source of truth, a dictionary for our modular UI - give your component place where they can leave - possibility to test UI separately from the complex behaviour - deeper understanding from the box what state should be handled on the component level and what should go to Flux/Redux