Extend classes and create implementations in runtime