Now that I look at it... What would you think about making it so that you only use `getResource()`, and `registerStream()` and `unregisterStream()` are private? Possibly even moving the contents of `registerStream()` to `getResource()`, and moving the contents of `unregisterStream()` to `steam_close()`?