Core: use GObject style construction.
Core: more documentation.