Use interface types where possible