import Controller.GameEngine;
import Controller.SoundManager;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class Main extends Application {

    // **Declare static Stage**
    private static Stage primaryStager;
    private void setPrimaryStage(Stage stage) {
        Main.primaryStager = stage;
    }
    static public Stage getPrimaryStage() {
        return Main.primaryStager;
    }

    @Override
    public void start(Stage primaryStage) throws Exception{

        Parent root = FXMLLoader.load(getClass().getClassLoader().getResource("WelcomeScreen.fxml"));

        String image = Main.class.getClassLoader().getResource("mafia-wallpapers.jpg").toExternalForm();
        root.setStyle("-fx-background-image: url('" + image + "'); " +
                "-fx-background-position: center center; " +
                "-fx-background-size: cover"
        );
        primaryStager = primaryStage;

        SoundManager soundManager = new SoundManager();
        soundManager.play();

        GameEngine gameEngine = new GameEngine();
        gameEngine.init();

        primaryStager.setTitle("Mafia: The City of Sin");
        primaryStager.setResizable(false);
        primaryStager.setScene(new Scene(root));
        primaryStager.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

@@ -253,40 +253,8 @@
  %7B%0A%0A
-    // **Declare static Stage**%0A
     
@@ -284,24 +284,53 @@
 imaryStager;
+ // **Declare static Stage**%0A
 %0A    private
@@ -408,16 +408,17 @@
 ;%0A    %7D%0A
+%0A
     stat
@@ -857,32 +857,36 @@
                 
+    
 %22-fx-background-
@@ -910,24 +910,32 @@
 center; %22 +%0A
+        
             
@@ -1134,20 +1134,16 @@
 Engine =
- new
  GameEng
@@ -1145,19 +1145,62 @@
 meEngine
-();
+.game(); /* Nice usage of Singleton Pattern */
 %0A       
@@ -1400,23 +1400,22 @@
 show();%0A
+
     %7D%0A
-%0A
     publ

Update Main.java