balls now spawn after they are lost
moved collision tests into private method