Implemented Promises

Oh, you should check before calling and return if there is no `_stream`. Don't you think?