FSM semantic guard component.
Validates that an event is allowed from the current state (available events gating).
@spec call(map(), map()) :: map()