code: private void fired(Direction initial)
      {
          for (final LauncherListener listener : listenersLauncher)
          {
              listener.notifyFired();
          }
          for (final LaunchableConfig launchableConfig : launchables)
          {
              final Media media = Medias.create(launchableConfig.getMedia());
              final Featurable featurable = factory.create(media);
              try
              {
                  final Launchable launchable = featurable.getFeature(Launchable.class);
                  if (launchableConfig.getDelay() > 0)
                  {
                      delayed.add(new DelayedLaunch(launchableConfig, initial, featurable, launchable));
                  }
                  else
                  {
                      launch(launchableConfig, initial, featurable, launchable);
                  }
              }
              catch (final LionEngineException exception)
              {
                  featurable.getFeature(Identifiable.class).destroy();
                  throw exception;
              }
          }
      }
docs: Called when fire is performed.
  
  @param initial The fire launch initial speed for force transfer.
  @throws LionEngineException If the fired object is not a {@link Launchable}.