Add first try at an Agent class. Untested so far.