Once the command has passed though the interceptor chain, it's handed to the container. The container establishes the transaction and executes the command. If the command fails for any reason, the container ensures that the transaction is rolled back. The container also makes a number of services available to the command.