Add support for multiple status types

issue #35
Now it seems you can use an infinite number of different status types
but the problem is matching a status type to a result type. I'm not sure
if that will be possible.