I made a thread about how I solved this problem, which was inspired / guided by many of the posts in this thread.