Looks fine. I think that final keyword may be dropped from the methods in DialogOwner or it was intentionally added? >>> One small note is about unnecessary final keywords on methods in >>> final class DialogOwner. -- Best regards, Sergey.