anchor.diff:      transformations:
         extensionInventory:
           name: ExtensionInventory # <1>
  -        position: 10 # <2>
         classInventory:
           name: ClassInventory
  -        position: 20
  +        dependsOn: [extensionInventory] # <2>
           settings: # <3>
             visitors: []
         resourceInventory:
           name: ResourceInventory
  -        position: after classInventory # <2>
  +        dependsOn: [extensionInventory]
  +      createPackages:
  +        name: CreatePackages:
  +        dependsOn: [extensionInventory, classInventory, resourceInventory]
   ----
   <1> This is a class name. If you specify an unqualified class name, Metamorph will assume the namespace `Mw\Metamorph\Transformation` for this class.
  -<2> You can position elements using FLOW's _positional array sorter_.
  +<2> You can specify dependencies for each transformation step. Metamorph will determine the final execution order of all transformation steps using _topological sorting_.
   <3> Some transformations allow you to pass custom settings. These will be passed into the `setSettings` method of the transformation class.
   
   As you may have guessed, you are free to add additional transformation steps to this list in the settings of your own packages. This allows you to extend and modify Metamorph's default transformation process according to your own custom requirements.
  
positive.code:         extensions: [css, sass, less, scss]
  ----
  
  === Analyzing the class definitions
  
  == Modifying source code inside transformations
  
  
negative.code: use Mw\Metamorph\Domain\Service\MorphExecutionState;
  use Symfony\Component\Console\Output\OutputInterface;
  
  interface Transformation {
      public function setSettings(array $settings);
      public function execute(
          MorphConfiguration $configuration,
  