Slightly bulky process of instantiating each one and calling the `init()` method, but there's consistency here that makes it easy to follow.