If you forgive me for saying it, this strikes me as better suited for
codereview.stackexchange.com. That is for working code for which you are soliciting design/implementation recommendations/opinions. StackOverflow
is for reproducible programming problems that lend themselves to specific answers (ideally, those that are backed up by official citations, documentation references, etc.). This is question is likely to produce opinion-based answers. When you post to
codereview.stackexchange.com, feel free to add a link here in comments. —
Rob 19 secs ago