Open closed principle

Opened a pull request for comments