Separated Gravity Update, Position Update and Collision Check. Also
cleaned up Gravity class