More serial work

Rename close() to stop() to conform to existing API
Re-implement buffer(), bufferUntil()