I was thinking to read all the engine code, before determining the classes etc. But as far as I saw, AGI was objectified step by step, objectifying one file in the step, and modifying only the ones that needs to. This method makes more sense to me considering several reasons.
First of all, after reading all the source code, probably I couldn't remember most of it, so it won't help. Other than that, it makes impossibe to ask for help because I wouldn't have any code to show what I meant. Also, iterative development is a better choice since this is a free software project and having some parts unimplemented (in this case not objectified) is not a problem.
Since my semester doesn't end, and I have my finals ahead, I am not working full time yet, so my progress is a little slow, but I am expecting to start coding really soon.