         collectionView.register(BasicMessageCell.nib, forCellWithReuseIdentifier: BasicMessageCell.identifier)
 
         var messageSections = Array(subscription.messages.map(Message.init).map { (message) -> AnyChatSection in
-            let messageSectionModel = MessageSectionModel(message: message.unmanaged, daySeparator: nil, isLoadingMore: false, isNew: false)
+            let messageSectionModel = MessageSectionModel(message: message.unmanaged)
             let messageSection = MessageSection(object: AnyDifferentiable(messageSectionModel))
             return AnyChatSection(messageSection)
         })

extension MessagesViewController {
    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
        let section = data[indexPath.section]
        let viewModel = section.viewModels()[indexPath.row]
        if let height = heightCache[viewModel.differenceIdentifier] {
            return CGSize(width: UIScreen.main.bounds.width, height: height)
        } else {
            let sizingCell = BasicMessageCell.sizingCell
            sizingCell.prepareForReuse()
            sizingCell.viewModel = viewModel
            sizingCell.configure()
            sizingCell.setNeedsLayout()
            sizingCell.layoutIfNeeded()
            let size = sizingCell.contentView.systemLayoutSizeFitting(UIView.layoutFittingCompressedSize)
            heightCache[viewModel.differenceIdentifier] = size.height
            return size
        }
    }

import DifferenceKit

final class MessagesViewController: RocketChatViewController {

    let viewModel = MessagesViewModel()

    var subscription: Subscription!


    var sectionsToAddLater: [AnyChatSection] = []

    override func viewDidLoad() {
