Switch from method on model to abstract 'is_complete' function