Add ability to lazily instantiate underlying stream and fix constructor option recognition