Gracefully handling scenarios with two outcomes is something we as developers would usually work on....Read more
Interface Segregation Principle means a client should not depend on something it doesn't need.