Best Practice for Additional Functionality?