#pragma once

class IObject
{
public:
  virtual ~IObject() {};

  virtual void destroy() = 0;
  virtual std::string getName() const = 0;
  virtual void setName(const std::string name) = 0;

  /// (Re-)Initialisiert das Objekt und schließt den Aufbau ab
  virtual void initialize() = 0;
};
