[WIP] Refactor and API Redesign

:construction: