title: OTP: Start GenEvent under Supervisor With Name
body: <p>I'm trying to create a GenEvent process with a specific name (for this question, I'm going with <code>{:global, :x}</code>). If I create the GenEvent normally, e.g. <code>GenEvent.start_link([name: {:global, :x}])</code>, I can access the GenEvent at that name. That's good. But I also want to create the GenEvent under a supervision tree. To do this, I put the genevent into a Supervision.Spec <code>worker</code> spec., and that's when things blow up.</p>
  
  <pre><code>iex(1)&gt; {:ok, sup} = Supervisor.start_link([], strategy: :one_for_one)
  {:ok, #PID&lt;0.127.0&gt;}
  iex(2)&gt; Supervisor.start_child(sup, Supervisor.Spec.worker(GenEvent, [name: {:global, :x}], []))
  {:error,
   {{:EXIT,                                                                                                                                                                                    
     {:function_clause,                                                                                                                                                                        
      [{GenEvent, :start_link, [name: {:global, :x}],                                                                                                                                          
        [file: 'lib/gen_event.ex', line: 358]},                                                                                                                                                
       {:supervisor, :do_start_child, 2, [file: 'supervisor.erl', line: 343]},                                                                                                                 
       {:supervisor, :handle_start_child, 2, [file: 'supervisor.erl', line: 715]},                                                                                                             
       {:supervisor, :handle_call, 3, [file: 'supervisor.erl', line: 400]},                                                                                                                    
       {:gen_server, :try_handle_call, 4, [file: 'gen_server.erl', line: 629]},                                                                                                                
       {:gen_server, :handle_msg, 5, [file: 'gen_server.erl', line: 661]},
       {:proc_lib, :init_p_do_apply, 3, [file: 'proc_lib.erl', line: 239]}]}},
    {:child, :undefined, GenEvent, {GenEvent, :start_link, [name: {:global, :x}]},
     :permanent, 5000, :worker, :dynamic}}}
  </code></pre>
  
  <p>What am I doing wrong?</p>