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

        let targetWidth = onScreenWidth(containerWidth)
        let scale = targetWidth / image.size.width

        return floor(image.size.height * scale) + (imageMargin * 2)
    }

    func onScreenWidth(_ containerWidth: CGFloat) -> CGFloat {


    func mediaBounds(for bounds: CGRect) -> CGRect {
        let containerWidth = bounds.size.width
        let origin = CGPoint(x: xPosition(forContainerWidth: bounds.size.width), y: appearance.imageMargin)
        let size = CGSize(width: onScreenWidth(containerWidth), height: onScreenHeight(containerWidth) - appearance.imageMargin)
        return CGRect(origin: origin, size: size)
    }

