Nevermind my concern about inner class. This solution is more logical, then separate class.

Rework TCP event type would really make sense. E.g. I may be intereceted only in Exception events.

Regarding injection own impl... Nevermind too. Events very simple to be flexible strategies.
Here I meant something similar to `RowMapper` within `JdbcTemplate`.