Removed the static global state from Gunsmith
Update for VSL Optionals
Added Optionals for better null handling