 
   class ExponentiationCommand
     invoke: (expression)->
-      expression.cloneAndAppend(Exponentiation.build())
+      _OverrideIfOperatorOrAppend.build(expression).
+        with Exponentiation.build()
 
   class_mixer(ExponentiationCommand)
 
   class MultiplicationCommand
     invoke: (expression)->
-      expression.cloneAndAppend(Multiplication.build())
+      _OverrideIfOperatorOrAppend.build(expression).
+        with Multiplication.build()
   class_mixer(MultiplicationCommand)
 
   class AdditionCommand
     invoke: (expression)->
-      expression.cloneAndAppend(Addition.build())
+      _OverrideIfOperatorOrAppend.build(expression).
+        with Addition.build()
   class_mixer(AdditionCommand)
 
 
   class SubtractionCommand
     invoke: (expression)->
-      expression.cloneAndAppend(Subtraction.build())
+      _OverrideIfOperatorOrAppend.build(expression).
+        with Subtraction.build()
   class_mixer(SubtractionCommand)
 
   class NegationCommand

        expression

  class_mixer(_ImplicitMultiplication)

  class PiCommand
    invoke: (expression)->

  class Number extends ExpressionComponent
    initialize: (@opts)->
      @val = @opts.value

    isNumber: -> true

    negated: ->
      value = @val * -1
      Number.build(value: value)
