Add optional flag to delegate methods and also do a check when calling the method on the delegate that the delegate responds to the methods