yui/yui3 — pull request #168 by ericf (2012-06-22 18:39:54+00:00)
Title: Base Events — Extracting lifecycle and attribute change observability from `Y.Base`

This extracts `Y.BaseEvents`, an extension for `Y.BaseCore`, from `Y.Base`.

By extracting the lifecycle and attribute change observability features, BaseCore subclasses have the potential to mix these features back in at runtime. The change (and probably more) are needed to create the `Y.Model.Base` class and `Y.Model.Events` extension.

I ran the `base` unit test and they all pass; additionally, I ran `app`'s and a few other higher-level components to make sure I didn't introduce any gaps or regressions.

Running Locally
-----------------------

I explicitly did not commit the build files or the Loader metadata update, when trying out these changes locally, do the following:

```bash
$ cd src/loader/ && make
$ cd ../base/ && ant all
```

Todos
---------

There are several things that still have to be done before this is merged in.

* Figure out correct yuidoc tags to use to make the API docs right (possibly a bug in yuidocjs).
* Determine if `Y.BaseEvents` can be mixed into a `Y.BaseCore` subclass at runtime.
* Try implementing `Y.Model.Base` and `Y.Model.Events` on this structure.