<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 An instance of POCS can be loaded and run as a simulator, which will then allow you to play with various aspects of of POCS and allow all of the different parts of the system. 
Any INFO level log messages will be displayed in the notebook but you can check $PANDIR/logs/panoptes.log for full debug output
Step1:  The pocs instance needs to be initialized, which will set up the cameras, mount, scheduler, etc.
Step2:  During automated operations a script would simply call pocs.run() and the state machine would begin. However, the run() method is a blocking call so you can't interact with the system any more. Here we manually inspect some items.
<ASSISTANT_TASK:>
Python Code:
# Load the POCS module
from pocs import POCS
# Create an instance of POCS that acts as a simulator
pocs = POCS(simulator=['all']) # Could be a list of: 'weather', 'camera', 'mount'
Explanation: An instance of POCS can be loaded and run as a simulator, which will then allow you to play with various aspects of of POCS and allow all of the different parts of the system. 
Any INFO level log messages will be displayed in the notebook but you can check $PANDIR/logs/panoptes.log for full debug output
End of explanation
pocs.initialize()
Explanation: The pocs instance needs to be initialized, which will set up the cameras, mount, scheduler, etc.
End of explanation
# Check if we have a current observation:
print(pocs.observatory.current_observation)
# Get an observation by running the scheduler. Check the log file for details
new_obs = pocs.observatory.get_observation()
print(pocs.observatory.current_observation)
# Set a new high priority target. (NOTE this is a totally fake thing)
target = {
    'name': 'Super Grav Wave Event',
    'position': '22h57m47.0s +38d40m30.0s',
    'priority': 999,    
}
pocs.observatory.scheduler.add_observation(target)
# Get a new observation, which should be our new event
new_obs = pocs.observatory.get_observation()
pocs.observatory.scheduler.remove_observation('Super Grav Wave Event')
pocs.observatory.scheduler.observations
Explanation: During automated operations a script would simply call pocs.run() and the state machine would begin. However, the run() method is a blocking call so you can't interact with the system any more. Here we manually inspect some items.
End of explanation
<END_TASK>