def call(args=[])
      raise ArgumentError.new("Expected Array") unless args.is_a? Array
      @provider.public_send(method_sym, *merged_evaluated_args(args.dup))
    end
def call(args=[])
      raise ArgumentError.new("Expected Array") unless args.is_a? Array
      @provider.public_send(method_sym, *merged_evaluated_args(args.dup))
    end
Creates a new Task instance

 @param [Provider] provider The provider to send the message to
 @param [Symbol] The method you wish to call on the provider
 @param [Hash] provider_options={} A hash of options to be passed when
   invoking the method on the provider.  Any lambda values will be called
   during the execution stage when {#call} is invoked

 Call invokes the task on the provider instance.  Additional parameters can be
 passed in that are merged into the parameters that were provided in {initialize}.
 Proc values will be evaluated before being passed to the provider.

 @param [Array] args=[] Additional arguments to pass to the provider method
 @return [#success?] Response of the provider's method