Extract shared process and provide helper method