 #error("Height incorrect, please fix Adafruit_SSD1306.h!");
 #endif
 
-void setup() {
+// Meta data
+/**
+ * @brief olds the meta datas
+ */
+char* metaDatas[4] = { NULL, NULL, NULL, NULL };
+
+void setup()
+{
     Consumer.begin();
 
     // Encoder configuration

    display.display();
}

void showToastInfo(const char* string) {
    display.clearDisplay();
    display.setCursor(30, 15);
    display.println(string);

    clearAndUpdate = false;
}

/**
 * @brief Show the meta datas
 */
void showMetaData()
{
    display.clearDisplay();
    for (int i = 0; i < 4; i++) {
        char* data = metaDatas[i];
        int cursorPosition = 8 * i;
        display.setCursor(0, cursorPosition);
        display.println(data);
    }
    display.display();
}

/**
 * @brief Sets the meta data for the given index
 * @param index
 * @param data
 */
void setMetaData(int index, const char *data)
{
    if (metaDatas[index])
        free(metaDatas[index]);
    metaDatas[index] = (char*)malloc(strlen(data) * sizeof(char));
    strcpy(metaDatas[index], data);
}

void loop()
{
    // Toast time elapsed
    unsigned long currentTime = millis();
    if ((currentTime - lastToastTime) > toastDuration) {
