Segregate interfaces and responsibilities