class Concurrent::Promise

def realize(task)

@!visibility private
def realize(task)
  @executor.post do
    success, value, reason = SafeTaskExecutor.new(task, rescue_exception: true).execute(*@args)
    complete(success, value, reason)
  end
end