Split Core.lua into multiple scripts files for better management