Alpha0.5

Implementation of the draft API.
In progress.
Yeah; not understanding why Worm is a subclass of DataUser, but that's also because I don't understand DataUser itself yet.