A listener can be attached to an object only after it has been constructed. So dispatching an event in a constructor is useless and error prone.

Noncompliant Code Example

public class MyClass
{
  public function MyClass()
  {
    dispatchEvent( new Event( "uselessEvent" ) );
  }
}