Separating Field's abstract methods into Interfaces