Add the new `workflow` library

This is needed for rewriting builder in a much simpler way