A couple of things:

I found a bug with the scoring mechanism. Here I was adding the point values of "killed" enemies in the user defined collision method. Howewver, given some of the advanced enemies that are not killed with a simple call to their respective kill methods (e.g., the strong and shorty UFOs), their point values were prematurely added to the player's score each time the UFO was hit by a player shot regardless if the UFO was killed or not.

To correct this problem, I moved the scoring out of the user defined collision methed and added it to the respective kill methods of the enemy entities. Now, when an enemy entity truely dies, the point value of the enemy is added to the player's score.

Note that this further follows good object oriented design practices since each enemy knows how it should die (e.g., add its point value to the player's score and then clear its alive and visisble flags).

I also forgot to add the UFOShorty class to the repo in the last commit.