I don't know what the right solution is, but with my solution it worked properly out of the box and could be customized.  I would like to find a solution that works properly out of the box for most apps.