The architecture for the core library should be such that a different project can include it and provide the interface it needs.
Acceptance Criteria:
- The core project can be included like a library and doesn't do anything by itself
- There should be multiple client projects that include the core project and provide an interface (CLI, API, GUI, etc.)