Robot v1 (Clean Branch)

In general, I like the abstraction level here.