     public private(set) weak var sender: Sender?
     public let action: (Target) -> (Sender) -> Void
 
-    public func performAction() {
+    public func perform() {
         if let target = target, let sender = sender {
             action(target)(sender)
         }

// License: MIT, https://github.com/eugeneego/legacy/blob/master/LICENSE
//

import Foundation

@objc public protocol Action {
    func performAction()
}

public final class BlockAction: Action {
    public let action: () -> Void

    public func performAction() {
        action()
    }


    public private(set) weak var target: Target?
    public let action: (Target) -> () -> Void

    public func perform() {
        if let target = target {
            action(target)()
        }
