     view.backgroundColor = UIColor.whiteColor()
     view.layer.opaque = true
 
-    if let navigationController = navigationController {
-      tableView.contentInset.top = navigationController.navigationBar.frame.height
-        + UIApplication.sharedApplication().statusBarFrame.height + 20
-      tableView.contentInset.bottom = 20
-      tableView.scrollIndicatorInsets.top = tableView.contentInset.top - 20
-    }
+    tableView.contentInset.top = verticalOffset
+    tableView.contentInset.bottom = verticalOffset
+    tableView.scrollIndicatorInsets.top = tableView.contentInset.top - verticalOffset
   }
 
   public override func viewDidAppear(animated: Bool) {


  public func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    let post = posts[indexPath.row]
    let postText = post.text as NSString
    let textFrame = postText.boundingRectWithSize(CGSize(width: UIScreen.mainScreen().bounds.width - 40,
      height: CGFloat.max), options: .UsesLineFragmentOrigin,
      attributes: [ NSFontAttributeName : UIFont.systemFontOfSize(14) ], context: nil)

    var imageHeight: CGFloat = 274
    var imageTop: CGFloat = 60
    if post.media.isEmpty {
      imageHeight = 0
      imageTop = 50
    }

    var informationHeight: CGFloat = 56
    if post.likeCount == 0 && post.commentCount == 0 {
      informationHeight = 16
    }

    let totalHeight: CGFloat = imageHeight + imageTop + informationHeight + 44 + 20 + 12 + textFrame.height

    return totalHeight
  }

  public func scrollViewDidScroll(scrollView: UIScrollView) {

  public func registerCell<T: WallTableViewCell>(cellClass: T.Type, reusableIdentifier: String) {
    tableView.registerClass(cellClass,
      forCellReuseIdentifier: reusableIdentifier)
    cells[reusableIdentifier] = cellClass
  }

  public func initializePosts(newPosts: [PostConvertible]) {
