"Your question is a bit abstract, so may be better suited to http://programmers.stackexchange.com , however I think there are still some points that would need to be cleared up before it can be really answered." . . . .