CommandDispatcher - This is a service that is responsible for dispatching commands to the appropriate receiver
Controllers - These are functions that are triggered for a specific operation on a specific path. Each operation on a route can only have 1 controller
Initializers - These are functions that be configured to do actions during the initialization of the api/app. There are three types of initializers, global, path, operation. Global initializers are executed before any other initializers. Path initializers are executed before operation initializers. Operation initializers are executed after path initializers.
Middleware - These are functions that are executed before the operation is executed.