Added two subclasses to Program: GraphicalProgram and ConsoleProgram. Added recvChar function to Socket. Removed gpEventDispatcher. Changed Component to UnitComponent and added SystemComponents. Program now stores a list of SystemComponents with functions to access and modify them.