Add prelimary compositor interface

This PR adds a prelimary version of the compositor's interface.
Leading space.

Also, can you specify which error codes? Would be nice!