Add permission denied messages.
Store player username internally, instead of OfflinePlayer instance.

Should fix issues with players not being recognised after relogging.