anchor.diff:  
           test("runs post processing hook", (){
             var future = new SerializerWithPostProcessing().serializeAsync(person, object: true);
  -          future.then(expectAsync1((json){
  +          future.then(expectAsync1((data){
               var expected = {"postProcessing" : true};
  -            expect(json, equals(expected));
  +            expect(data, equals(expected));
             }));
           });
         });
  
positive.code:       });
  
        test("serializes selected fields of the object", (){
          var json = new SelectedFieldsSerializer(["firstName"]).serialize(person, map: true);
          var expected = {"firstName" : "Bill"};
          expect(json, equals(expected));
        });
  
        test("defauls missing fields to null", (){
          var json = new SelectedFieldsSerializer(["invalid"]).serialize(person, map: true);
          var expected = {"invalid" : null};
          expect(json, equals(expected));
        });
  
        test("works in async mode", (){
          var future = new SelectedFieldsSerializer(["firstName"]).serializeAsync(person, map: true);
          future.then(expectAsync1((json){
            var expected = {"firstName" : "Bill"};
            expect(json, equals(expected));
          }));
        });
      });
  
negative.code: 
          test("serializes selected fields of the object", (){
            var future = new SelectedFieldsSerializer(["firstName", "lastName"]).serializeAsync(person, object: true);
            future.then(expectAsync1((data){
              var expected = {"firstName" : "Bill", "lastName" : "Evans"};
              expect(data, equals(expected));
            }));
          });
  
          test("serializes custom fields", (){
            var future = new CustomFieldsSerializer().serializeAsync(person, object: true);
            future.then(expectAsync1((data){
              var expected = {"transformed" : "TRANSFORMED Bill"};
              expect(data, equals(expected));
            }));
          });
  
  