> Do you think it would be better to have a seperate Ray.pointIntersction(point) method or something like that?

I think so. Otherwise the code is a bit too fragile.