New Terminal API

Will use this for the OutputStream stuff