Abstraction is always good, right? ;)