I don't agree with you, even creating a ClientListener will cost you 12 lines.