Add Script concept
Refactorings around Scripts