I committed a new SP section. It has a more detailed definition of the abstraction and more complete description of the implementation. It has some redundancy that should be trimmed. It needs to have some questions answered and the interfaces filled in. I made part of it up.