FilterProtocol.read_from return type should be limited to just the message types that a service sends

As a necessary change, checks will have to be made that the types are expected.