You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: lazy_table3.rb
    path of file: ./repos/glimmer-dsl-libui/examples
    
    the code of the file until where you have to start completion: require 'glimmer-dsl-libui'

class LazyTable
  Contact = Struct.new(:name, :email, :phone, :city, :state)
  
  # Extending Enumerator::Lazy
    
    def initialize(contact_count)
      # Make sure to pass super constructor size (2nd) argument as it gets used by Glimmer DSL for LibUI
      # to determine the number of rows in the table before generating all its data
      super(contact_count.times, contact_count) do |yielder, index|
        # Data will get lazy loaded into the table as the user scrolls through.
        # After data is built, it is cached long-term, till updating table `cell_rows`.
        yielder << contact_for(index)
      end
    end