Separating implementation from interface to avoid link conflicts.