Reasoning about assertions, obligations and causality: on a categorical semantics for a logic for pragmatics