Split implementation from API definition