Stateful components with DRY shared behaviour: Comparing Angular and React