While this is all good to think about, have you looked at existing libraries to see how they handle this kind of thing?
Replies
Sorry, I kind of forgot I wrote this. I did end up referencing existing libraries after the fact; I just wanted to attempt to solve the problems blindly before doing so to get a better appreciation for what others have come up with.