Current reloading process clears current properties and load updated values from
resource reader. If an IO error occurs (or invalid format), the configuration
gets corrupted and the application becomes unstable.
It may be better for hot-reload to put loaded values into a temporary Properties
and replace previous values only when reloading is successful.
It may also allow to use a 'currentlty-reloading' flag in the synchronized
'reload' block to avoid blocking threads during a reload (they could access
safelly the 'old' properties until reload is finished)