Added async processing to the steam future as an intermediate solution. 
End goal is the events fired should be non-blocking
Javadoc added
Figuring out how to work with multiple callbacks