From style tiles to pattern libraries, thinking in components is about creating a modular front-end architecture