def setup_should_update_checks!
      @should_update_checks = []
      @should_update_checks.push(lambda { |request| request.has_line_type?(options[:line_type]) }) if options[:line_type]
      @should_update_checks.push(options[:if]) if options[:if].respond_to?(:call)
      @should_update_checks.push(lambda { |request| request[options[:if]] }) if options[:if].is_a?(Symbol)
      @should_update_checks.push(lambda { |request| !options[:unless].call(request) }) if options[:unless].respond_to?(:call)
      @should_update_checks.push(lambda { |request| !request[options[:unless]] }) if options[:unless].is_a?(Symbol)
    end
def setup_should_update_checks!
      @should_update_checks = []
      @should_update_checks.push(lambda { |request| request.has_line_type?(options[:line_type]) }) if options[:line_type]
      @should_update_checks.push(options[:if]) if options[:if].respond_to?(:call)
      @should_update_checks.push(lambda { |request| request[options[:if]] }) if options[:if].is_a?(Symbol)
      @should_update_checks.push(lambda { |request| !options[:unless].call(request) }) if options[:unless].respond_to?(:call)
      @should_update_checks.push(lambda { |request| !request[options[:unless]] }) if options[:unless].is_a?(Symbol)
    end
Initialize the class
 Note that the options are only applicable if should_update? is not overwritten
 by the inheriting class.

 === Options
 * <tt>:if</tt> Handle request if this proc is true for the handled request.
 * <tt>:unless</tt> Handle request if this proc is false for the handled request.
 * <tt>:line_type</tt> Line type this tracker will accept.
 Sets up the tracker's should_update? checks.