Adds architecture diagram to improve the visual understanding of the underlying architecture
Edits existing text to use more generic descriptors for each of the components (as suggested offline by @nathanbaleeta), reorganizes components to match the diagram, and minor edits to improve readability