Context
and Runtime
are classes designed to have
a clean interface for the user.
Examples of using interfaces: Trace
is a simple data container that can be
easily serialized & deserialized. There are standalone functions that can
operate on a trace.