Execution

Just for feedback
Scaladoc?

Also why do you prefer this approach? Wouldn't it be nicer to keep things pure as much as possible?
If we are going to take this approach we should throw a custom exception instead of the if so we get a better failure message.