#import NS_ASSUME_NONNULL_BEGIN typedef NS_ENUM(NSUInteger, TSModuleType) { TSModuleTypeExploit, TSModuleTypeInstallation, TSModuleTypePersistence, TSModuleTypeSecurity }; @protocol TSModuleProtocol - (BOOL)executeWithParameters:(NSDictionary *)params; - (void)cleanupResources; @property (nonatomic, readonly) TSModuleType moduleType; @end @interface TSModuleManager : NSObject + (instancetype)sharedManager; - (void)registerModule:(id)module forType:(TSModuleType)type; - (nullable id)moduleForType:(TSModuleType)type; - (BOOL)executeModule:(TSModuleType)type parameters:(NSDictionary *)params; @end NS_ASSUME_NONNULL_END