Week7 part2

Mostly refactoring with decorator and service object
Just out of curiosity, does `flash[:error]` still work in the view? If you're using bootstrap 3, you'll have to change it to `flash[:danger]` in the view. And then make the necessary changes in your specs :)