A convenient way to expose an extensible API with enforced method signatures and consistent documentation.