Refactor use custom exception instead of generic Exception class
Standardize documentation for StreamObject methods