private void manage(Entity e, float elapsedTime) {
    Physic ph = e.get(Physic.class);
    PlanarStance stance = e.get(PlanarStance.class);
    MotionCapacity capacity = e.get(MotionCapacity.class);

    Point2D velocityToApply = e.get(PlanarVelocityToApply.class).getVector();
    velocityToApply = velocityToApply.getMult(1 / ph.stat.mass);

    Point2D newVelocity = ph.velocity.getAddition(velocityToApply);
    newVelocity = newVelocity.getTruncation(capacity.maxSpeed);
    Point2D newCoord = stance.getCoord().getAddition(newVelocity.getMult(elapsedTime));

    setComp(e, new Physic(newVelocity, ph.stat, ph.spawnerException));
    setComp(
        e,
        new PlanarStance(
            newCoord, stance.getOrientation(), stance.getElevation(), stance.getUpVector()));
    setComp(e, new PlanarVelocityToApply(Point2D.ORIGIN));
  }