Make it possible to have implementations in different toolkits.
Also, make it possible to share the headers.