Basic framework for ScriptComponents