Observer Implementation

I hope I am doing everything as supposed. It is also in the commit comment, but

The new enum is for handling the reasons all the same and the reason beeing sanely able to tell what it is.
drawNext returning the word is necessary to pass it to the observer for it to report on. As the word knows what happened to it there is no need for different events. What I would however want to do is some sort of overall feedback after the drawing is done.

BTW: Isn't it time for some packages??