Right now, the enemy movement is hard coded. Implement a simple language that describes possible movements for the enemies using the Interpreter pattern, and also allow for different movements for each enemy on the screen. The Visitor pattern can be used to do the interpretation.