MessageProvider implemented with filter function