Add prelimary compositor interface

This PR adds a prelimary version of the compositor's interface.
Missing `void` here. Notation should be `functionname(void)` then (without newlines).