any specific reason for not making this a gen_server?