Shared.changes accepts a filter

Not implemented efficiently, still maintains entire list of changes