Refactored into singlton service
Updated Readme with implementation details