The Sandbox class that will be used when core creates sandbox instances.
Lists all installed extensions.
Lists all added module ids.
Lists all running module instances by their id.
Returns current justcore's version.
Adds a module.
Initializes the core.
Subscribes for messages of given type.
Publishes a message asynchronously by scheduling (setTimeout) each message handler to the event loop. That async behavior gives us the following benefits:
Each message handler is invoked in dedicated call stack;
Loose coupling between publishers and handlers. If you somehow rely on the publishAsync's result, your modules don't work independently from each other.
Process of tracing messages won't suffer when message handlers depth increases. Because of the event loop's nature in javascript, each message will be published to all of its handlers first even though some of the handlers might publish a new message along the way, e.g. lets say:
Module "D" subscribes for message "M2"
When Module "A" publishes its message "M1", the order of the handlers invoked will be:
Module "B" -> Module "C" -> Module "D".
Starts an instance of given module and initializes it.
Stops a given module instance.
Schedules a list of extensions for installation.
A mediator object that hooks everything together and runs your application.