     
   }
   
+  internal func setupDoorAsButton() {
+    let tapGesture: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "openDoor")
+    self.doorView.addGestureRecognizer(tapGesture)
+  }
+  
+  internal func degreeToRad(x: Double) -> Double {
+    return (x * (180.0 / M_PI))
+  }
+  
+  internal func openDoor() {
+    
+    let angleAsRads: Double = self.degreeToRad(35.0)
+    self.doorView.layer.anchorPoint = CGPointMake(1.0, 0.5)
+    self.doorView.layer.position = CGPointMake(CGRectGetMaxX(self.doorView.layer.bounds) + 4.0, CGRectGetMidY(self.doorView.layer.bounds) + 4.0)
+    let doorOpenTransform: CATransform3D = CATransform3DMakeRotation( CGFloat(angleAsRads), 0.0, 1.0, 0.0)
+    
+    UIView.animateWithDuration(2.0) { () -> Void in
+      self.doorView.layer.transform = doorOpenTransform
+    }
+    
+  }
   
 }

    return view
  }()
  
  override func viewDidLoad() {
    super.viewDidLoad()
    
    self.setupViewHierarchy()
    self.configureConstraints()
  }
  
  override func didReceiveMemoryWarning() {

    }
    
    self.doorView.snp_makeConstraints { (make) -> Void in
      make.edges.equalTo(self.interiorView.snp_edges).offset(UIEdgeInsetsMake(4.0, 4.0, -4.0, 4.0))
    }
  }
  
  internal func setupViewHierarchy() {
