Writing AMs would be easier for some if they did not have to handle heartbeating to the RM on their own.
Unmanaged AM launcher does not set various constants in env for an AM, also does not handle failed AMs properly
Create asynchronous AM RM Client
Move special container exit codes from YarnConfiguration to API
TestUnmanagedAMLauncher fails on Windows