     /// The status of the post on the specified platform as a `String`.
     /// - Note: This property is available to provide interoperability with Objective-C codebases.
     ///         Using `status` is preferred.
-    public var statusString: String?
+    public private(set) var statusString: String?
     
     /// The status of the post for a given platform.
     @nonobjc public var status: PublishStatus? {

        }
    }
    /// The URL of the post on a given platform.
    public var thirdPartyPostURL: String?
    
    /// The ID of the post on a given platform.
    public var thirdPartyPostID: String?

    /// The number of views this post has, as reported by the third party platform.
    public var thirdPartyViewCount: NSNumber?

    /// The number of likes (or equivalent) this post has, as reported by the third party platform.
    public var thirdPartyLikeCount: NSNumber?

    /// The number of comments this post has, as reported by the third party platform.
    public var thirdPartyCommentCount: NSNumber?
    
    // MARK: - Overrides
    

public class PublishDestinations: VIMModelObject {
    
    /// Information about a post on Facebook.
    public private(set) var facebook: PublishDestination?
    
    /// Information about a post on YouTube.
    public private(set) var youtube: PublishDestination?
    
    /// Information about a post on LinkedIn.
    public private(set) var linkedin: PublishDestination?
    
    /// Information about a post on Twitter.
    public private(set) var twitter: PublishDestination?

    public override func getClassForObjectKey(_ key: String?) -> AnyClass? {
        switch key {
