Look ma, abstraction