Aug 7, 2008 at 12:24 AM
The Camera should not be a Game Component, making it a class allows it to be wrapped easier and makes it easier to manage. Plus than other classes can easily supersede it without major code redesign.
Game Components should be things that are components of the game, such as a door system (but that could also be a class) and should be superseded by a class to control them.
Furthermore, writing the engine as a game library means most/more of it should be a class.

A Class could be written for a guns, that can get information on firing rate and accept input form an input class. This allows it to create a new bullet that can communicate with anything it collides with using the physics Library.