change some dependencies to interfaces
change GameEntity dependencies to IEntity