Component-based Game Framework