moved execution logic for KQL queries into each implementing class