major cleanup of retrieve, precondition, create, process and response blocks
add a spec for logging transitions and callbacks