Split the core project into small projects

Assignee Loading
Time tracking Loading