createCommand
        Create a Command from a given function, for use with ViewModels.
A Command is a function with an extra canExecute observable property to determine
whether the command can be executed.  When executed, a Command function will check the
value of canExecute and throw if false.  It also provides events for when
a command has been or is about to be executed.
    
Parameters:
| Name | Type | Argument | Default | Description | 
|---|---|---|---|---|
| func | Function | The function to execute. | ||
| canExecute | Boolean | <optional> | true | A boolean indicating whether the function can currently be executed. | 
