replace JSON serialization by PropertyList serialization

- replace JSON by Propertylist
- refactor to use AGEncode protocol