Такие вещи не высасываются из пальца, особенно если не умеешь.
Начни писать то, что понимаешь, как сделать, и заворачивай его края так, чтобы весь остальной код обращался к этому через узкий интерфейс, ничего не зная о его внутренней работе. Может получиться архитектура... особенно если потом посмотреть на то, что получилось, и переписать правильно.