Added Source Factory that can dynamically load the proper source based on the game