Moved PlayerListener to separate class.
Re-arranged Listener data.
Permissions checks.