diff --git a/framework/core/src/Foundation/AbstractServer.php b/framework/core/src/Foundation/AbstractServer.php
index <HASH>..<HASH> 100644
--- a/framework/core/src/Foundation/AbstractServer.php
+++ b/framework/core/src/Foundation/AbstractServer.php
@@ -18,6 +18,11 @@ use Monolog\Logger;
 abstract class AbstractServer
 {
     /**
+     * @var Application
+     */
+    protected $app;
+
+    /**
      * @var string
      */
     protected $path;
@@ -41,6 +46,8 @@ abstract class AbstractServer
         if (file_exists($file = $this->path.'/config.php')) {
             $this->config = include $file;
         }
+
+        $this->app = $this->getApp();
     }
 
     /**
diff --git a/framework/core/src/Http/AbstractServer.php b/framework/core/src/Http/AbstractServer.php
index <HASH>..<HASH> 100644
--- a/framework/core/src/Http/AbstractServer.php
+++ b/framework/core/src/Http/AbstractServer.php
@@ -22,12 +22,10 @@ abstract class AbstractServer extends BaseAbstractServer
 {
     public function listen()
     {
-        $app = $this->getApp();
-
-        $this->collectGarbage($app);
+        $this->collectGarbage($this->app);
 
         $server = Server::createServer(
-            $this->getMiddleware($app),
+            $this->getMiddleware($this->app),
             $_SERVER,
             $_GET,
             $_POST,
AbstractServer: Store app instance as class property

This will make it easier to reuse the instance in an asynchronous
setting (e.g. ReactPHP), where one application instance is preloaded
and reused for each incoming request.