The manual doesn't specify you can call `rotate` without an argument. Is that needed? If not then this would simplify to `@rotate = angle`... I would also be tempted to set `@rotate = 0` in the constuctor.