Много разно думал-делал, и пришел к выводу, что мне совсем не нравится "общая" для всех идея: писать фреймворк для сериализации и десериализации.
Поэтому как делаю я:
У меня есть коннектор к соц сети: SocialNetwork. У него есть метод send, который принимает в качестве аргумента SocialBaseCommand.
У SocialBaseCommand обязан быть наследник, в котором переопределены методы serialize и execute: первый сериализует команду на сервер, второй её парсит и делает то что надо. При переносе системы на другой проект код во всяком случае десериализации пишется заново. Мультисоциальность того и другого достигается путем условной компиляции.
Пример:

Код AS3:
var command:SocialBaseCommand = _socialNetork.send(new Get(friendUIDs);
command.addEventListener(Event.COMPLETE, onCompleteHandler);

Код AS3:
package social.commands.friends {
import social.custom.CustomSocialCommand;
public class Get extends CustomSocialCommand {
private var _uid:String;
public function Get(uid:String = null) {
super();
_uid = uid;
super.commandAPIName = "friends.get";
}
protected override function serialize():void {
super.body.uid = _uid;
super.serialize();
}
protected override function execute():void {
super.execute();
}
}
}
Внутри этого примера какие-то действия будут совершенны внутри хэндлера onCompleteHandler, по ответу.
У команды есть публичное поле response, в который кладется ответ.
Парсинг может происходить внутри execute:

Код AS3:
protected override function execute():void {
if (!Boolean(super.response)) {
super.baseController.catapulting("Для игры Вам необходимо установить приложение.");
}
super.execute();
}
Если надо добавить несколько соц. сетей, то сначала парсинг разных форматов через условную компиляцию, потом обращаемся:

Код AS3:
var uids:String;
CONFIG:SOCIAL1 {
uids=super.response.friends;
}
CONFIG::SOCIAL2{
uids=super.response.some_other_field;
}
super.baseModel.getSomeModel().uids=uids;
Сериализацией и десериализацией занимается отдельный класс, который имплементит IApiAdapter. Не совсем адаптер, но мне нравится его так называть.
2 главных метода там:

Код AS3:
function serialize(command:SocialBaseCommand):URLLoader;
function get decoderFunction():Function;
Например вот сериализация от OKAdapter:

Код AS3:
public function serialize(command:SocialBaseCommand):URLLoader {
var urlLoader:URLLoader = new URLLoader();
var vars:URLVariables = signRequest(command.body);
var commandType:String = command.commandAPIName.split(".").join("/");
var urlRequest:URLRequest = new URLRequest(FlashVars.OK_SOCIAL_API_URL + commandType);
urlRequest.data = vars;
urlLoader.load(urlRequest);
return urlLoader;
}