Implement registration flow