Use interfaces rather than classes where appropriate