added modern perls
remove all Concrete* classes

Decided that Concrete* classes are client's responsibility. Moved
any useful functionality to respective abstract class.