# Functions

NewCommand creates a new command object and assigns it's parameters.
NewCommandSet creates an empty CommandSet object.
NewEvent creates a new event and assigns its name.
NewInterceptedCommand creates a new InterceptedCommand, which serves as a link in an execution chain.

# Structs

Command Concrete implementation of ICommand interface.
CommandSet contains a set of commands and events supported by a commandable object.
Event concrete implementation of IEvent interface.
InterceptedCommand implements a command wrapped by an interceptor.

# Interfaces

ICommand An interface for Commands, which are part of the Command design pattern.
ICommandable an interface for commandable objects, which are part of the command design pattern.
ICommandInterceptor An interface for stackable command intercepters, which can extend and modify the command call chain.
IEvent an interface for Events, which are part of the Command design pattern.
IEventListener an interface for listener objects that receive notifications on fired events.