Added CommandContext

Useful for limiting certain commands to only run when found in certain
environments
Not 100% done