Add prelimary compositor interface

This PR adds a prelimary version of the compositor's interface.
Why `-1` and not `true` or `false` ?