@async now checks if a promise or task was passed correctly