class PlatformRuleContext extends BaseRuleContext implements RuleContext {

   @Override
   public void broadcast(MessageBody payload) {
      PlatformMessage pm = 
            PlatformMessage
               .builder()
               .from(source)
               .withPlaceId(getPlaceId())
               .withPopulation(getPopulation())
               .withPayload(payload)
               .create();
      platformBus.send(pm);
   }

   protected  PlatformRuleContext(
         Address source, 
         UUID placeId,
         Logger logger, 
         PlatformMessageBus platformBus,
         RuleModelStore models,
         PlaceExecutorEventLoop eventLoop,
         TimeZone tz,
         Map<String,Object>variables
   );

}