Wrote a generate listener dispatcher class to remove redundant code
Partly wrote the input wrapper. It appears to be fucked.