Framework independent workflow library