Abstraction is a pretty awesome thing