Move more asset functionality from types to models