Refactoring IWindowsNotifier to use template method pattern

for improve code scalability, Refactoring IWindowsNotifier to use template method pattern (.-.)