# Structs
Cursor allows the input to check if cursor status has been stored in the past and unpack the status into a custom structure.
InputManager is used to create, manage, and coordinate stateful inputs and their persistent state.
# Interfaces
Input interface for cursor based inputs.
Publisher is used to publish an event and update the cursor in a single call to Publish.
Source describe a source the input can collect data from.
StateStore interface and configurations used to give the Manager access to the persistent store.