public static function split($event)
   {
      if (!is_string($event)) {
         throw new InvalidArgumentException(
            "invalid value provided for 'event'; expecting an event name ".
            "or event name and namespace as string"
         );
      }

      list($type, $namespace) = array_pad(explode('.', $event, 2), 2, null);
      return [ 
         ($type === '') ? null : $type,
         ($namespace === '') ? null : $namespace
      ];
   }