Revamped Task and corrected any logic errors within, State is still untested.