Refactoring rules to use functional inheritance instead of pseudoclassical