     public init<Argument, ReturnType>(argument: Argument.Type, signature: String, _ block: @escaping (Argument) -> ReturnType) {
         self.methodSignature = signature
         modelTypeCheckingBlock = { _ in true }
+        supplementaryKind = nil
         reaction = { argument, _, _ in
             guard let argument = argument as? Argument else {
                 return 0

    /// Searches for reaction using specified parameters.
    static func unmappedReaction(from reactions: [EventReaction],
                         signature: String,
                         forModel model: Any) -> EventReaction? {
        guard let unwrappedModel = RuntimeHelper.recursivelyUnwrapAnyValue(model) else { return nil }
        return reactions.first { reaction in
            reaction.methodSignature == signature &&
                (reaction.modelTypeCheckingBlock?(unwrappedModel) ?? false)
        }
    }
    

                         signature: String,
                         forModel model: Any,
                         at indexPath: IndexPath,
                         view: UIView?,
                         supplementaryKind: String? = nil) -> EventReaction? {
        guard let unwrappedModel = RuntimeHelper.recursivelyUnwrapAnyValue(model) else { return nil }
        return mappings.first(where: { mapping in
            // Find all compatible mappings
