allows mapping commands to an interface
adds testing of immutable command mapping list during execution
fixes mapping overwriting