error handling and logging improved
StreamProvider refactored to use Futures