:param str itemType: The type of the item, note, place, todo
            :param dict itemContents: A dictionary of the item contents
            :param int itemID: When editing a note, send the ID along with it

def addItem(self, itemType, itemContents, itemID=None):
        """
            :param str itemType: The type of the item, note, place, todo
            :param dict itemContents: A dictionary of the item contents
            :param int itemID: When editing a note, send the ID along with it
        """

        if itemType not in self.noteDB.collection_names():
            fields = [(ii, pymongo.TEXT) for ii in itemContents]
            self.noteDB[itemType].ensure_index(fields)

        collection = self.noteDB[itemType]

        if itemID is None:
            itemContents['timestamps'] = [time.time()]
            itemID = self.getNewID()
            itemContents["ID"] = itemID
            collection.insert(itemContents)
        else:
            _id = collection.find_one({"ID": itemID})["_id"]
            timestamps = collection.find_one({"ID": itemID})["timestamps"]
            timestamps.append(time.time())
            itemContents["timestamps"] = timestamps
            itemContents["ID"] = itemID
            collection.update({"_id": _id}, itemContents)

        return itemID