Allowing for protocol abstraction in css