-set widget update interval to 45min instead of 24h
-remove appointment from widget after it ends, not when it has started
-refactoring