first pass of Outcome as an interface
fixup, make mergable
Merge pull request #12 from sclasen/outcome-interface

first pass of Outcome as an interface