--- /dev/null
+#ifndef PLAYERCONTROLLER_H_
+#define PLAYERCONTROLLER_H_
+
+#include <msp/game/eventobserver.h>
+#include <msp/game/owned.h>
+#include <msp/game/system.h>
+#include "ship.h"
+
+class Controls;
+
+class PlayerController: public Msp::Game::System
+{
+private:
+ Controls *controls = nullptr;
+ ShipSetup player_setup;
+ Msp::Game::Owned<Ship> player_ship;
+
+public:
+ PlayerController(Msp::Game::Stage &);
+
+ void set_controls(Controls *);
+
+ void tick(Msp::Time::TimeDelta) override;
+};
+
+#endif