Moar abstracting and interfacing.