internal static T FirstOfType <T>(this GameComponentCollection components) where T : IGameComponent
 {
     return((T)components.First(c => c.GetType() == typeof(T)));
 }