Got java stuff out of the AppListener -- made it abstract