The typical design pattern seems to be that creating a separate messages package is the way to go, though I can't find an official source (just some replies on answers.ros.org) that makes it an official recommendation. Feedback from the team/community would be useful on this one.