properly instantiate metadata in WF.from_dict()