Initial Element models with a basic test

WIP
It's moved elsewhere. That's part of the inheritance issues I'm trying to sort out.