Refactor out Core into API Interfaces