      
      - returns: An initialized UIControl.
      */
-    init(frame: CGRect, actionClosure: (Self) -> Void) {
+    public init(frame: CGRect, actionClosure: (Self) -> Void) {
         self.init(frame: frame)
         action = Action(action: actionClosure)
         addTarget(self, action: #selector(handleAction), forControlEvents: .TouchUpInside)

     
     - returns: An initialized UIControl.
     */
    init(actionClosure: (Self) -> Void) {
        self.init()
        action = Action(action: actionClosure)
        addTarget(self, action: #selector(handleAction), forControlEvents: .TouchUpInside)

// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.

public protocol Actionable: NSObjectProtocol {
    
    init(actionClosure: (Self) -> Void)
    init(frame: CGRect, actionClosure: (Self) -> Void)
