 
     weak var delegate : OmnibarScreenDelegate?
 
-    var avatarView : UIImageView!
-    var cameraButton : UIButton!
-    var imageSelectedButton : UIButton!
-    var imageSelectedOverlay : UIImageView!
-    var cancelButton : UIButton!
-    var submitButton : UIButton!
-    var buttonContainer : ElloEquallySpacedLayout!
-
-    var sayElloOverlay : UIControl!
-    var sayElloLabel : UILabel!
-
-    var textContainer : UIView!
-    var textView : UITextView!
+    var avatarView = UIImageView()
+    var cameraButton = UIButton()
+
+    var imageSelectedButton = UIButton()
+    var imageSelectedOverlay = UIImageView()
+    var cancelButton = UIButton()
+    var submitButton = UIButton()
+    var buttonContainer = ElloEquallySpacedLayout()
+
+    var sayElloOverlay = UIControl()
+    var sayElloLabel = UILabel()
+
+    var textContainer = UIView()
+    var textView = UITextView()
 
     private var currentText : NSAttributedString?
     private var currentImage : UIImage?

        imageSelectedOverlay.frame = CGRect.at(x: imageSelectedButton.frame.width / 2, y: imageSelectedButton.frame.height / 2).grow(all: imageSelectedOverlay.layer.cornerRadius)
        imageSelectedOverlay.autoresizingMask = .FlexibleBottomMargin | .FlexibleTopMargin | .FlexibleLeftMargin | .FlexibleRightMargin
        imageSelectedButton.addSubview(imageSelectedOverlay)

        cancelButton = UIButton()
        cancelButton.setImage(ElloDrawable.imageOfCancelIcon, forState: .Normal)

        submitButton = UIButton()
        submitButton.setImage(ElloDrawable.imageOfSubmitIcon, forState: .Normal)

        textView = UITextView()
        textView.editable = true
        textView.allowsEditingTextAttributes = false  // TEMP
        textView.selectable = true

        textView.font = UIFont.typewriterFont(12)
        textView.textContainer.lineFragmentPadding = 0
        textView.backgroundColor = UIColor.greyE5()
        textView.delegate = self
        textView.autoresizingMask = .FlexibleHeight | .FlexibleWidth
    }
    private func setupViewHierarchy() {
        for view in [avatarView, buttonContainer, textContainer, sayElloOverlay] as [UIView] {
            self.addSubview(view)
        }
        for view in [cameraButton, cancelButton, submitButton] as [UIView] {
            buttonContainer.addSubview(view)
        }
        sayElloOverlay.addSubview(sayElloLabel)
        textContainer.addSubview(textView)
    }

// MARK: Public interface

    // Removes the undo state, and updates the text view, including the overlay
    // and first responder state.  This method is meant to be used during
