namespace Core.Common.Controls
{
///
/// Command pattern implementation.
///
public interface ICommand
{
///
/// Commands can be disabled if they cannot be executed.
///
bool Enabled { get; }
///
/// Commands can checked if they represent a (boolean) state.
/// HACK: command can't be checked, button associated with command can be checked! Find a better design.
///
bool Checked { set; get; }
///
/// Execute a Command with the supplied arguments.
///
/// Arguments used in executing the Command.
void Execute(params object[] arguments);
}
}