Хм... задним местом чую некоторый конфликт, но не могу понять его природу. Кажется, будто из за неполноты высказываний. Так вот все мое предложение целиком:

Код AS3:
class Events
{
public static const SOME_TYPE:String = "type 1";
public static const SOME_OTHER_TYPE:String = "type 2";
puiblic static function someEvent(customParams:*):SomeEventClass
{
return new SomeEventClass(SOME_TYPE, customParams, bubbles, cancelable);
}
puiblic static function someOtherEvent(customParams:*):SomeEventClass
{
return new SomeEventClass(SOME_OTHER_TYPE, customParams, bubbles, cancelable);
}
}
...
o.addEventListener(Events.SOME_TYPE, someListener); //При подписки лучше, конечно, константа
...
dispatchEvent(Events.someEvent(params)); //А тут вот так