Splitting the core functionality into logical parts.