Open Closed Principle

Software entities should be open for extension, but closed for modification.