Create clear connection between Component types and props/state