#import <UIKit/UIKit.h>

@class CRSessionController;

@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;

@property (nonatomic, strong, readonly) CRSessionController *sessionController;

+ (instancetype)sharedAppDelegate;

@end

