Builder now combines (rather than replaces) component lifecycle methods

Addresses idea brought up in #21 by having the builder combine rather than replace component lifecycle methods.

Not sure how/if I can use the same composition function for functions of different arity so I had to add 3 of them.