         CGContextStrokePath(context)
     }
 
+    private func createButton(#type: ReaderModeBarButtonType, action: Selector) -> UIButton {
+        let button = UIButton()
+        addSubview(button)
+        button.setImage(type.image, forState: .Normal)
+        button.addTarget(self, action: action, forControlEvents: .TouchUpInside)
+        return button
+    }
+
     func SELtappedReadStatusButton(sender: UIButton!) {
         delegate?.readerModeBar(self, didSelectButton: unread ? .MarkAsRead : .MarkAsUnread)
     }


    var unread: Bool = true {
        didSet {
            readStatusButton.setImage(UIImage(named: unread ? "MarkAsRead" : "MarkAsUnread"), forState: UIControlState.Normal)
        }
    }

    var added: Bool = false {
        didSet {
            listStatusButton.setImage(UIImage(named: added ? "removeFromReadingList" : "addToReadingList"), forState: UIControlState.Normal)
        }
    }
}


        backgroundColor = UIColor.whiteColor()

        readStatusButton = createButton(type: .MarkAsRead, action: "SELtappedReadStatusButton:")
        readStatusButton.snp_makeConstraints { (make) -> () in
            make.left.equalTo(self)
            make.height.centerY.equalTo(self)
            make.width.equalTo(80)
        }

        settingsButton = createButton(type: .Settings, action: "SELtappedSettingsButton:")
        settingsButton.snp_makeConstraints { (make) -> () in
            make.height.centerX.centerY.equalTo(self)
            make.width.equalTo(80)
        }

        listStatusButton = createButton(type: .AddToReadingList, action: "SELtappedListStatusButton:")
        listStatusButton.snp_makeConstraints { (make) -> () in
            make.right.equalTo(self)
            make.height.centerY.equalTo(self)
