Refactor compositor to use messages rather than callbacks.