     public let postedByDescription: String
     public let datePosted: NSDate
     public let audioUnavailable: Bool
+    public let postURL: NSURL
+    public let iTunesURL: NSURL
 
     public var loved: Bool
     
-    public var postURL: NSURL! = nil
-    public var iTunesURL: NSURL! = nil
+
     
     override public var description: String {
         return "<Track - artist: \(artist), title: \(title)>"
     }
     
     public required init?(response: NSHTTPURLResponse, representation: AnyObject) {
+        
         self.id = representation.valueForKeyPath("itemid") as! String
         
         let artistJSON = representation.valueForKeyPath("artist") as? String

            self.audioUnavailable = false
        }
        
        let response = NSHTTPURLResponse()
        
        super.init()
        
        self.postURL = NSURL(string: cleanURLString(representation.valueForKeyPath("posturl") as! String))
        self.iTunesURL = NSURL(string: cleanURLString(representation.valueForKeyPath("itunes_link") as! String))
    }
    
    public class func collection(#response: NSHTTPURLResponse, representation: AnyObject) -> [Track]? {

        return NSURL(string: "http://hypem.com/track/\(id)")!
    }
    
    public enum ImageSize {
        case Small
        case Medium
