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 future = new SelectedFieldsSerializer(["firstName", "lastName"]).serializeAsync(person, object: true);
            future.then(expectAsync1((json){
              var expected = {"firstName" : "Bill", "lastName" : "Evans"};
              expect(json, equals(expected));
            }));
          });
  
          test("serializes custom fields", (){
            var future = new CustomFieldsSerializer().serializeAsync(person, object: true);
            future.then(expectAsync1((json){
              var expected = {"transformed" : "TRANSFORMED Bill"};
              expect(json, equals(expected));
            }));
          });
  
  
negative.code:           });
  
            test("does not serialize the fields of the superclass by default", (){
              var data = new DefaultSerializer().serialize(person, object: true);
              expect(data, equals({}));
            });
  
            test("serialize specified properties of the superclass", (){
              var data = new SelectedFieldsSerializer(["firstName"]).serialize(person, object: true);
              var expected = {"firstName" : "Bill"};
              expect(data, equals(expected));
            });
          });
        });
  