Move definitions to public header