in reply to Selecting one of two implementations
The second solution is what I would go with based mostly upon separation of concerns. Depending upon the difficulty of implementation, refactoring and (most importantly) budget, that would be the way I would go.
I tend to lean more towards OOP anyways, however, so be warned.