| 
 вообщем можно создать объект вида  
var Messege = function (timeStart, timeEnd, messege) {
  this.timeStart = timeStart;
  this.timeEnd = timeEnd;
  this.messege = messege;
  this.createInit();//Запускаем инициализацию создания элемента 
}
Messege.prototype.createInit = function () {
  if (/*время создания уже наступило*/) {
    this.createAsTime();
  } else {
    this.createAsTime(this.currentTimeToCreate()); //рассчитываем время до создания (в мс) 
  }
}
Messege.prototype.createAsTime = function (time) {
  if (time != null) {
    setTimeout(this.addElement, time);
  } else {
  /*функция создания элемента*/
  }
}
Messege.prototype.addElement = function () {
  $(/*место*/).append('<div>' + this.messege + '</div>');
  this.$ = $(/*место*/).find('div').last();
  this.removeMessegeInit();
}
Messege.prototype.removeMessegeInit = function () {
  this.removeAsTime(this.currentTimeToRemove()); //рассчитываем время до удаления (в мс)
}
Messege.prototype.removeAsTime = function (time) {
  setTimeout(this.remove, time);
}
Для каждого сообщения создаем экземпляр класса Messege, и у каждого будут вышеперечисленные методы. 
Создаем экземпляр:
 
var a = new Messege("10:00", "15:00", "Обед")
 |