Maybe I should have architected this better