Fixed up some name and messages to be easier to understand.
Added some implicits and pimps for converting Result to Future