For consistency with the Timeline class.
         pipeline = Gst.parse_launch(pipeline_string)
         return Player(pipeline)
 
-    def stop(self):
-        self.mainloop.quit()
-        self.pipeline.set_state(Gst.State.NULL)
-
     def bus_message_cb(self, unused_bus, message):
         if message.type == Gst.MessageType.EOS:
             self.stop()
     def play(self):
         self.pipeline.set_state(Gst.State.PLAYING)
         self.mainloop.run()
+
+    def stop(self):
+        self.mainloop.quit()
+        self.pipeline.set_state(Gst.State.NULL)