These are all
![G o o d [Good]](/emoticons/g_o_o_d.gif)
questions. I think you're on the right track.
I think for starters you may want your asset manager to be be able load a self-describing package that may or may not include all of the data that it describes. For example, instead of storing the data in a custom package file, you might sometimes specify uri's that point to the data. That way you can test quicker without have to build your custom packages.
Make sure that your self-describing file format for your packages is flexible. Use generic tags in the file that can allow you to build a more robust structure on. Labeling the tags allows you to differentiate.
I guess for me the biggest thing to get right is the specification of your package file system.
http://thnogg.mybrute.com