This really was simple at one point. Now I need to make some documentation to help people understand what's going on in the backend.