addItem method
Adds a single item to the list.
By default, items are appended at the end.
Use atStart to insert the item at the beginning.
Implementation
void addItem(T item, {bool atStart = false}) {
atStart ? itemsList.insert(0, item) : itemsList.add(item);
_emit();
}