How can I hold a value in memory after I have exited a subprocedure?