Add prelimary compositor interface

This PR adds a prelimary version of the compositor's interface.
`@note` and `@warning` tags on the upper lines and this one would be fine.