Turned ExecutionContext into a trait

MapExecutionContext is the main implementation of ExecutionContext