             sView.endEditing(true)
         }
     }
-
+    
     /* CGAttributedTableViewCell Delegate */
     
-    public func attributedCell(tableViewCell: CGAttributedTableViewCell, updateIndexPath indexPath: NSIndexPath, withData data: AnyObject) {
+    public func attributedTableViewCell(cell: CGAttributedTableViewCell, updateDescriptionWithData data: AnyObject) {
         if let del = attributedDelegate {
-            del.attributedTableView(self, updateDescriptionAtIndexPath: indexPath, withData: data)
-        }
-    }
-    
-    public func attributedCell(tableViewCell: CGAttributedTableViewCell, buttonPressedAtIndexPath indexPath: NSIndexPath) {
+            del.attributedTableView(self, updateDescriptionAtIndexPath: cell.indexPath, withData: data)
+        }
+    }
+    
+    public func attributedTableViewCellButtonPressed(cell: CGAttributedTableViewCell) {
         if let del = attributedDelegate {
-            del.attributedTableView(self, buttonPressedAtIndexPath: indexPath)
+            del.attributedTableView(self, buttonPressedAtIndexPath: cell.indexPath)
+        }
+    }
+    
+    public func attributedTableViewCellReturnPressed(cell: CGAttributedTableViewCell) {
+        println("I am run - return")
+        if let dataSrc = attributedDataSource {
+            var progress = false
+            
+            let numInSection: Int = dataSrc.attributedTableView(self, numberOfRowsInSection: cell.indexPath.section)
+            
+            var newSection = cell.indexPath.section
+            var newRow = cell.indexPath.row
+            
+            print("Current S:R - \(newSection):\(newRow)")
+            
+            if newRow == (numInSection - 1) {
+                newRow = 0
+                newSection += 1
+                let numSections = dataSrc.numberOfSectionsInAttributedTableView(self)
+                if newSection < numSections { progress = true }
+            } else {
+                newRow += 1
+                progress = true
+            }
+            
+            print("New     S:R - \(newSection):\(newRow)")
+            
+            if progress {
+                println("Progress")
+            }
         }
     }
     

    
}

public class CGAttributedTableView: UITableView, UITableViewDataSource, UITableViewDelegate {
    
    public var attributedDelegate: CGAttributedTableViewDelegate?
    public var attributedDataSource: CGAttributedTableViewDataSource?

        self.addSubview(picker)
        
        self.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:[picker(162)]", options: NSLayoutFormatOptions(0), metrics: nil, views: [ "picker" : self.picker ]))
        let widthConstraint = NSLayoutConstraint(item: picker, attribute: .Width, relatedBy: .Equal, toItem: descriptionLabel, attribute: .Width, multiplier: 1, constant: 0)
        let xConstraint = NSLayoutConstraint(item: picker, attribute: .CenterX, relatedBy: .Equal, toItem: descriptionLabel, attribute: .CenterX, multiplier: 1, constant: 0)
        let yConstraint = NSLayoutConstraint(item: picker, attribute: .CenterY, relatedBy: .Equal, toItem: descriptionLabel, attribute: .CenterY, multiplier: 1, constant: 0)
        
        self.addConstraint(widthConstraint)
        self.addConstraint(xConstraint)
