WIP - workflows: updates

Test for checking everything 
I am sorry it is perhaps due to the position of the comment, but which one ? 

The get function allows to do a post process before to get the result. It allows for example to avoid highly complex problem of serialization by defining a protocol for transmit an ID or a procedural code instead of a complete object, and rebuild/retrieve it once at the other side of the message queue. (For example a datetime object based on C).

The status is a duplicated but it is to fit with the abstract class on which this one is built, which aim to standardize all the worker to be able to switch from a worker to another one without getting worry about compatibility. 

For example,  the status is not retrieved the same between Celery and Redis, same for the get function.
Redis is not waiting the result it is giving you a state or the result. Which mean that by changing of worker you will break the complete program. Except if you add a translator for each step in your code, or if you unify everything under a common interface. 

We choose the last method because it will allow people in the future to add whatever they want.