SkillFactory.java proposed, other code refactored