refactor to remove interface from functional instruction executor