implement reactors using composition instead of inheritance

Description

It is well known that composition is superior to inheritance. The reactor implementations all use a ton of inheritance all over the place, both in the reactor objects themselves and in many of the related objects (eg the transports).

It would be a great maintainability win to create these objects with composition instead.