Add expression splitting into separate buffers

Added a couple new internals. This code feels like it can be improved or
cleaned up, but for now it is functional.