Refactored DerivationStep class