puseste lá aonde? o que eu vejo daqui é que se o first_name for "Luís Zamith", o placeholder vai ter um espaço e um acento, que é incorrecto. lá por ser usado só num sitio não é necessariamente motivo para sair do serviço

além disso, agora tens um serviço GenerateUsername que recebe um username como argumento. parece-me contraditório