Refactored the release script to use a construct based approach