Reworked my ideas on how to implement this.