     return layout
     }()
 
-  public var posts: [Postable] = [] {
-    willSet {
-      dispatch_async(dispatch_get_main_queue(), { _ in
-        self.collectionView.reloadData()
-      })
-    }
-  }
-
   // MARK: - Initialization
 
-  public convenience init(post: Postable) {
+  public convenience init(postConvertible: PostConvertible) {
     self.init()
 
-    self.post = post
+    self.post = postConvertible.wallModel
   }
 
   // MARK: - View Lifecycle

    case Triggered, Loading, Stopped
  }

  private var scrollingState: InfiniteScrolling = .Stopped

  public var post: Postable?
  public var config = Config()

  public var tapDelegate: WallTapDelegate?
  public var scrollDelegate: WallScrollDelegate?

  public lazy var collectionView: ASCollectionView = { [unowned self] in
    var frame = self.view.bounds


  // MARK: - Public Methods

  public func postAtIndex(index: Int) -> PostConvertible? {
    return posts[index]
  }
}
