Initial commit, draft design doc and simple implementations.