Might be better to return a more generic base type to avoid lock-in?