Read up on this post. Might be what you are looking for.
Managing the custom is something you will need to determine on your end. BAQ vs tapping into the GetList Method.