ElemDiver interface, impl, and tests

I’ve added in an implementation of ElemDiver, and tests.