An immediate problem with including all our project's headers in mootlipass.h and then including that from all other places that need anything in our project is that gcc (and thus make) can't see what needs to be rebuilt when you change something in a header file, since it's included everywhere. I also think it makes it easier to see what the code actually depends on and uses, making the code easier to grasp when you start digging in.

Maybe it's a bit nit-picky on a small project to be a bit stringent about what you include, but small projects tend to grow, and you never know if some future, behemoth project may want to spring from the mooltipass code =)