Capabilities work in progress.

Pipelining doesn't work yet. Need to address a bug in how default object values are treated first.
Will probably refactor the schema too.
Pipeline test PASS :-D