     case Square
 }
 
+/**
+ 
+ */
+
 public class AvatarImageView: UIImageView {
     
-    public var data: AvatarImageViewDataSource? {
+    /// The data source to populate the Avatar Image
+    public var dataSource: AvatarImageViewDataSource? {
         didSet {
-            setup()
+            refresh()
         }
     }
+    
+    /** 
+     The configuration for the AvatarImageView. Use this for settings such as shape, font size, etc.
+     Always set this value BEFORE the data source, otherwise the view will not render correctly.
+     
+     If you would like to set this value after the data source, you need to call `setNeedsDisplay()` to re-draw the view correctly.
+     
+    */
     public var configuration: AvatarImageViewConfiguration
         = DefaultConfiguration()
     

        
        return image
    }

    // MARK:- Utilities
    

    
    func setup() {
        backgroundColor = UIColor.clearColor()
        image = nil
    }
    
    func textAttributes(fromData data: AvatarImageViewDataSource) -> [String : AnyObject] {
