Refactored core.clj into core.clj (the public usage API) and lang.clj (the language API for plugins).