         taskNodeTableView.rowHeight = UITableViewAutomaticDimension
         taskNodeTableView.estimatedRowHeight = 100
         
+        addBackgroundImageView()
         addTaskNodeTableView()
+    }
+    private func addBackgroundImageView() {
+        addSubview(backgroundImageView)
+        
+        // Setup constraints
+        backgroundImageView.translatesAutoresizingMaskIntoConstraints = false
+        let viewsDictionary: [String: AnyObject] = ["view" : backgroundImageView]
+        
+        let horizontalConstraints = NSLayoutConstraint.constraintsWithVisualFormat("H:|[view]|", options: NSLayoutFormatOptions(rawValue: 0), metrics: nil, views: viewsDictionary)
+        let verticalConstraints = NSLayoutConstraint.constraintsWithVisualFormat("V:|[view]|", options: NSLayoutFormatOptions(rawValue: 0), metrics: nil, views: viewsDictionary)
+        
+        addConstraints(horizontalConstraints)
+        addConstraints(verticalConstraints)
     }
     
     private func addTaskNodeTableView() {

import UIKit

public class TaskNodeView: UIView {
    public var taskNodeTableView: UITableView = UITableView(frame: CGRect.zero, style: .Plain)
    public weak var hintsTextViewDelegate: HintsTextViewDelegate?
    

    }
    
    private func customInitialization() {
        // Background image view properties
        backgroundImageView.backgroundColor = UIColor.clearColor()
        backgroundImageView.contentMode = .ScaleAspectFill
        
        // Table view properties
        taskNodeTableView.backgroundColor = UIColor.clearColor()
        taskNodeTableView.separatorStyle = .None
