From working on the resource management system I've found a method through which I get though larger more complicated systems much quicker. I start off with a single header file. I then start putting together all the class declarations for some subsystem in semi-pseudo c++ code. I get the class realtionships in, the major functions, inheritance, that sort of stuff. Then I refine everthing: put in all the required vars, correct the return types and parameter lists for all the functions, add all the required small functions, basically finish the class declaration. Then I split those classes each up into their own header and code the content of each of the classes. Because I know how each of the classes work in the scheme of things there's no coding a function here and then having to go code a required function there and a million other such wastes of time.
I just finished the refining stage of the graphics system. I have the declarations for about six classes which I can now go and code up. I find it much faster and easier to work this way. I should have these classes coded in a day or two.