                 
                 cell = reusedCell
             }
+        case let dateModule as DateModule:
+            let reusedCell = tableView.dequeueReusableCell(indexPath: indexPath) as DateTableViewCell
+            
+            reusedCell.datePicker.date = dateModule.date
+            reusedCell.datePicker.addTarget(self, action: Selector("didUpdateDatePicker:"), forControlEvents: .ValueChanged)
+            
+            cell = reusedCell
         default:
             if let reusedCell = tableView.dequeueReusableCellWithIdentifier("defaultCell") {
                 cell = reusedCell

        tableView.registerReusableCell(CheckboxTableViewCell)
        tableView.registerReusableCell(TextFieldTableViewCell)
        tableView.registerReusableCell(TextAreaTableViewCell)
    }
    
    // MARK: Hints dictionary

        paragraphStyle.alignment = module is TextModule ? .Center : .Left
        
        return [NSForegroundColorAttributeName: textColor, NSFontAttributeName: font, NSParagraphStyleAttributeName: paragraphStyle]
    }
    
    func didUpdateDatePicker(sender: UIDatePicker) {
        guard let dateNode = node as? DateNode else { return }
        
        dateNode.date = sender.date
    }
}

