Refactor the OpenSSL stream implementation so that the legacy code is better abstracted. This will enable future development.