Move interface implementations to seperate packages