EasyEngine refactor