/**
 * Register an event listener with the dispatcher.
 *
 * @param  string|array  $events
 * @param  mixed  $listener
 * @param  int  $priority
 * @return void
 */
public function listen($events, $listener, $priority = 0)
{// Register an event listener use dispathcer
    foreach ((array) $events as $event) {// loop this events as event
        if (Str::contains($event, '*')) {// determine this string is has this * char
            $this->setupWildcardListen($event, $listener);// if has this *, setup the wildcard listen
        } else {// ele
            $this->listeners[$event][$priority][] = $this->makeListener($listener);// make listener to event
// this listener
            unset($this->sorted[$event]); // unset event
        }
    }
}