50% done

#6. Enhancing UI: visible states for loading, errors, and an in-progress responses