Should I design my classes from the outside (interfaces first) or from the inside (data first)? From the outside!