fixed many edge cases in local workflow implementation

Created an edge case workflow for testing quirks in the local implementation while using it to test a workflow in Asgard. Keeping this out of the example workflow keeps a more readable example of happy paths.
Also reorganized classes.