I think these attach functions should not return self? They're not really intended to be chained? Obviously the inner scheduling function should still return self.