New design, deprecated placeholder classes in favour of mixins

DO NOT MERGE as this still hasn't been polished by the design team. We'll look into it on Monday. Please comment fixes to current implementation
Thinking of it: it's nice to be able to do that but who actually uses that in their product? If it's never used should we document at all?