It is like an opaque state machine you can prod