It's a small implementation of a overload method and some design patterns to use it!