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: base.rb
    path of file: ./repos/pakyow/core/lib/pakyow/runnable/container/strategies
    
    the code of the file until where you have to start completion: # frozen_string_literal: true

require "core/async"

require "pakyow/support/deep_freeze"
require "pakyow/support/inspectable"

require_relative "../../notifier"

module Pakyow
  module Runnable
    class Container
      module Strategies
        # @api private
        class Base
          include Is::Async

          include Support::DeepFreeze
          insulate :backoff, :resolver

          include Support::Inspectable
          inspectable :@services

          def initialize
            @services = []
            @listeners = []
            @failed = false
            @stopping = false
            @notifier = nil
            @backoff = nil
            @handler = nil
            @resolver = nil
            @resolving = nil
          end

          def prepare(container)
            @notifier&.stop
            @noti
    
          def run(container)
            container.performing :fork do
              container.formation.each.map { |service_name, desired_service_count|
                service_instance = container.services(service_name).new(**container.options)
                desired_service_count ||= (service_instance.count || 1)
                service_limit = service_instance.limit

                service_count = if service_limit.nil? || service_instance.limit >= desired_service_count
                  desired_service_count
                else
                  Pakyow.logger.warn "attempted to run service `#{container.class.object_name.name}.#{service_name}' #{desired_service_count} times, but was limited to #{service_limit}"

                  service_limit
                end

                [service_instance, service_count]
              }.each do |service_instance, service_count|
                service_count.times do |index|
                  manage_service(service_instance.dup)
                end
              end
            end