update to follow standard naming conventions; added override
annotations;
add constants class and use debug flag for statements.
Move listener object to it's own folder