   let width: CGFloat
   var delegate: PostCellNodeDelegate?
   var post: Post
+  var config: Config?
 
   var headerNode: PostHeaderNode?
   var attachmentGridNode: AttachmentGridNode?

        x: padding,
        y: y,
        width: contentWidth,
        height: PostConfig.Divider.height)
    }
  }
}

    self.post = post
    self.width = width
    self.delegate = delegate as? PostCellNodeDelegate
    self.config = self.delegate?.config

    super.init()

    if let config = config {
      let postConfig = config.wall.post

      self.backgroundColor = postConfig.backgroundColor

      if postConfig.header.enabled {
        headerNode = PostHeaderNode(post: post, width: contentWidth)
        headerNode!.userInteractionEnabled = true

        addSubnode(headerNode)
      }

      if let attachments = post.attachments where attachments.count > 0 {
        attachmentGridNode = AttachmentGridNode(attachments: attachments, width: contentWidth)
        attachmentGridNode!.userInteractionEnabled = true

        addSubnode(attachmentGridNode)
      }

      if let text = post.text {
        textNode = ASTextNode()
        textNode!.attributedString = NSAttributedString(string: text,
          attributes: config.wall.post.text.textAttributes)
        textNode!.userInteractionEnabled = true

        addSubnode(textNode)
      }

      if postConfig.footer.enabled {
        footerNode = PostFooterNode(post: post, width: contentWidth)
        footerNode!.userInteractionEnabled = true

        addSubnode(footerNode)
      }

      if config.wall.post.actionBar.enabled {
        actionBarNode = PostActionBarNode(width: contentWidth, config: config)
        addSubnode(actionBarNode)
      }

      let actionNodes = [
        headerNode?.authorNameNode,
        headerNode?.authorAvatarNode,
        headerNode?.groupNode,
        headerNode?.dateNode,
        headerNode?.locationNode,
        attachmentGridNode,
        textNode,
        footerNode?.likesNode,
        footerNode?.commentsNode,
        footerNode?.seenNode,
        actionBarNode?.likeControlNode,
        actionBarNode?.commentControlNode
      ]

      for actionNode in actionNodes {
        actionNode?.addTarget(self,
          action: "tapAction:",
          forControlEvents: ASControlNodeEvent.TouchUpInside)
      }

      if config.wall.post.divider.enabled {
        divider = ASDisplayNode()
        divider!.backgroundColor = postConfig.divider.backgroundColor
        addSubnode(divider)
      }
    }
  }

