# File lib/needle/lifecycle/proxy.rb, line 29
      def initialize( proc_obj=nil, *args, &callback )
        if proc_obj && callback
          raise ArgumentError, "only specify argument OR block, not both"
        end

        @callback = proc_obj || callback or
          raise ArgumentError, "callback required"

        @args = args
        @mutex = QueryableMutex.new
        @instantiation_failed = false
        @instance = nil
      end