Fixed a bug where async wouldn't continue unless both required and optional fields were supplied. Updated tests.