We agreed upon the following Interaction criteria behavior:
 - If criteria object is missing, criteria should never be met.
 - If criteria dictionary exists but has no keys, criteria should always be met.
 - Otherwise, evaluate the criteria.
 - If a key in the criteria is not known to the client, criteria should not be met.