refacto again + attempt at handling sprites updates with strategies