 
 internal final class RealmPropertyCell: UITableViewCell {
     
-    static var identifier: String { return "RealmPropertyCell" }
-    
-    private lazy var circleView: UIView = {
-        let view = UIView()
-        view.backgroundColor = .random
+    static let identifier = NSStringFromClass(RealmObjectBrowserCell.self)
+
+    private lazy var typeView: ObjectTypeView = {
+        let view = ObjectTypeView()
         contentView.addSubview(view)
         return view
     }()

        spacing.backgroundColor = .clear
        textField.leftViewMode = .always
        textField.leftView = spacing
        textField.rightViewMode = .always
        textField.rightView = spacing
        textField.returnKeyType = .done
        textField.textAlignment = .right
        textField.autocorrectionType = .no

    }

    override func sizeThatFits(_ size: CGSize) -> CGSize {
        let usableSize = CGSize(width: size.width - 2*margin16, height: .greatestFiniteMagnitude)
        let sizeTypeView = typeView.sizeThatFits(usableSize)
        return CGSize(width: size.width, height: sizeTypeView.height + 2*margin16)
    }

    override func layoutSubviews() {
        super.layoutSubviews()

        let usableSize = CGSize(width: contentView.bounds.width - 2*margin16,
                                 height: .greatestFiniteMagnitude)
        let sizeTypeView = typeView.sizeThatFits(usableSize)
        let originType = CGPoint(x: margin16, y: margin16)
        typeView.frame = CGRect(origin: originType, size: sizeTypeView)

        let usableTextFieldWidth = contentView.bounds.width
            - typeView.bounds.width
            - 3*margin16

        let usableTextFieldSize = CGSize(width: usableTextFieldWidth,
                                          height: .greatestFiniteMagnitude)
        let sizeTextField = textFieldPropValue.sizeThatFits(usableTextFieldSize)
        let minWidth = min(sizeTextField.width, usableTextFieldSize.width)
        let originTextField = CGPoint(x: contentView.bounds.width-minWidth-margin16,
                                       y: margin16)
        if let prop = property {
            if prop.type == .bool {
                toggle.frame = CGRect(origin: originTextField,
