             for serialised in data {
               guard
                 let deserialised = serialised as? [String: Any],
-                let friend = deserialiseFriend(deserialised)
+                let friend = Friend(json: deserialised)
               else {
                 print("unable to deserialise friend \(serialised)")
                 continue

  let firstName: String
  let lastName: String
  let pictureRawURL: String
}

enum QueryLimit {


class Facebook {
  typealias EnumerationCallback = (_: Friend) -> Void

  private static func enumerateFriends(type: FriendType, limit: QueryLimit,
                                       cursor: String?,
