add TimeExtractor and change api
dedicate a thread to fetch and consolidate all messages from a broker