# Making a C# Object Awaitable
Unlike [[Making a Class a Valid Return From an async Method]], making it awaitable seems relatively trivial. All an object has to do is implement the `GetAwaiter` method on the object, which is trivial if you're already wrapping a `Task`.
The object returned from `GetAwaiter` must:
- Implement [`System.Runtime.CompilerServices.INotifyCompletion`](https://docs.microsoft.com/en-us/dotnet/api/system.runtime.compilerservices.inotifycompletion)
- Have `public bool IsCompleted`
- Have `public void GetResult()`