Part of my problem is I'm trying to make it flexible. I know I said "I just want to finish this thing", but I don't want to spend a couple months coding this engine just to toss it away. I guess I could always just modify it later instead of trying to prepare it for the future. It just seems like a waste of time when I can spend a little extra time making it more flexible now, saving me from having to change it in the future.
I don't know. I'll think about it while I'm working on something else.