         guard let progress = progress else {
             return
         }
-        let lineY = origin.y + (progressHeight / 2.0)
+        let lineY = origin.y + (appearance.progressHeight / 2.0)
 
         let backgroundPath = UIBezierPath()
-        backgroundPath.lineWidth = progressHeight
-        progressBackgroundColor.setStroke()
+        backgroundPath.lineWidth = appearance.progressHeight
+        appearance.progressBackgroundColor.setStroke()
         backgroundPath.move(to: CGPoint(x:origin.x, y: lineY))
         backgroundPath.addLine(to: CGPoint(x: origin.x + size.width, y: lineY ))
         backgroundPath.stroke()
 
         let path = UIBezierPath()
-        path.lineWidth = progressHeight
-        progressColor.setStroke()
+        path.lineWidth = appearance.progressHeight
+        appearance.progressColor.setStroke()
         path.move(to: CGPoint(x:origin.x, y: lineY))
         path.addLine(to: CGPoint(x: origin.x + (size.width * CGFloat(max(0,min(progress,1)))), y: lineY ))
         path.stroke()


    public struct Appearance {

        /// Overlay's Color
        ///
        public var overlayColor = UIColor(white: 0.6, alpha: 0.6)


    required public init(identifier: String, url: URL? = nil) {
        self.identifier = identifier
        self.url = url
        self.appearance = MediaAttachment.defaultAppearance
        
        super.init(data: nil, ofType: nil)
    }
