IEnumerator ThrowInto(Grabbable toy, Character owner)
    {
        var  iPos     = toy.transform.position;
        var  tPos     = transform.position + (Vector3.up);
        bool splashed = false;

        float factor = 0f;

        while (factor <= 1.1f)
        {
            var newPos = Vector3.Lerp(iPos, tPos, factor);
            toy.body.MovePosition(newPos);

            if (!splashed && factor < 0.5f)
            {
                splash.Play();
                splashed = true;
            }

            yield return(new WaitForFixedUpdate());

            factor += Time.fixedDeltaTime / /*duration*/ 0.15f;
        }
        toy.DestroySilenty();
        OnDrop(owner);
    }