Removed unused
Rename model object
Abstracted collections into AsyncCollection which filters by a predicate and supports notification.