Builder now combines (rather than replaces) component lifecycle methods