 it_plays_manipulation_role = (subject, math)->
   describe "acting as an expression manipulation", ->
     beforeEach ->
-      @subject = subject(@)
+      @subject = subject.call(@)
 
     it "has an invoke method", ->
       expect(typeof @subject.invoke).toEqual "function"

it_inserts_component_into_the_last_nested_open_expression = (specifics)->
  it "adds #{specifics.name} to the deepest final open expression", ->
    @exp = @exp_builder(open_expression: {open_expression: []})
    exp = specifics.manipulator(@).invoke(@exp)
    expected = specifics.should_equal_after(@exp_builder)
    expect(exp).toBeAnEqualExpressionTo expected



    describe "SquareRootManipulation", ->
      it_plays_manipulation_role (test)->
        @manip.square_root.build()

      it "finds the square root of an expression", ->
        exp = @math.expression.buildWithContent([
