Remove reflection from API
API cleanup
Yet another refactor (probably finalized API)