Tweak ExoWeb.logError to be more flexible. Allow passing custom error data directly as an alternative to the ExoWeb error event. Don't automatically raise the error event when called directly outside of the framework, but include it as an option. Add optional success and failure callback function arguments. When validating an entity's id, use ExoWeb.isString (which uses Object.prototype.toString behind the scenes) to avoid odd situations (e.g. page unload, frames, etc...) that can result when using instanceof or the constructor property.