Added some more features e.g IP change listener, conditional updating, etc.