 
 class Object {
     var id: String
-    
-    init() {
+    var name: String
+    
+    init(name: String) {
         id = UUID().uuidString.lowercased()
+        self.name = name
+    }
+    
+    convenience init() {
+        self.init(name: "OBJ")
     }
     
     func short_id() -> String {
         return id.substring(to: id.index(id.startIndex, offsetBy: 8))
     }
+
+    func debug(message: String) {
+        print("\(self.name) {\(short_id())} | \(message)")
+    }
+    
 }
 
 class Request : Object {

        self.floor = floor
        self.type = type
        self.destinationAction = block
    }
    
    init(floor: Int, original: Request?) {

    
    func callElevator(request: Request) {
        requests.append(request)
        debug(message: "control: queue request for \(request.description())")
    }
    
    private func _internalRemoveRequestByID(id: String) {
        if let i = requests.index(where: { ($0.id == id)}) {
            let value = requests.remove(at: i)
            debug(message: "clearing floor: \(floor) [\(i)] request: \(value.description())")
        }
    }
    
