Command class rework

Changed the Command class to an interface to allow developers to change the way they handle commands based on specific needs.