Questions like "is there a more efficient way" or "are there existing designs" are IMHO too broad. It's important that when one writes an answer to a question, one can have confidence that the answer that is written is the answer to the question. Open-ended design questions may be more suitable on softwareengineering.stackexchange.com. — Peter Duniho 54 secs ago