In this series we'll look at two different approaches for writing components with side effects  data-down-actions-up and smart components  and see how understanding developer expectations is key to writing predictable interfaces.