runACP :: Process ()
runACP = do
    taggedMessage "ACP" "Starting ACP"
    -- Get parameters for ACP and actor
    ParamACP self act resources actorP <- expect
    -- Start actor process
    nid <- getSelfNode
    me  <- getSelfPid
    -- FIXME: understand how do we want to monitor state of child
    --        process? Do we want to just die unconditionally or maybe
    --        we want to do something.
    (pid,_) <- spawnSupervised nid act
    send pid (ACP me, actorP)
    -- Start listening on events
    startAcpLoop self pid resources

-- FIXME: duplication
runACP :: Process ()
runACP = do
    taggedMessage "ACP" "Starting ACP"
    -- Get parameters for ACP and actor
    ParamACP self act resources actorP <- expect
    -- Start actor process
    nid <- getSelfNode
    me  <- getSelfPid
    -- FIXME: understand how do we want to monitor state of child
    --        process? Do we want to just die unconditionally or maybe
    --        we want to do something.
    (pid,_) <- spawnSupervised nid act
    send pid (ACP me, actorP)
    -- Start listening on events
    startAcpLoop self pid resources

-- FIXME: duplication
runACP = do
    taggedMessage "ACP" "Starting ACP"
    -- Get parameters for ACP and actor
    ParamACP self act resources actorP <- expect
    -- Start actor process
    nid <- getSelfNode
    me  <- getSelfPid
    -- FIXME: understand how do we want to monitor state of child
    --        process? Do we want to just die unconditionally or maybe
    --        we want to do something.
    (pid,_) <- spawnSupervised nid act
    send pid (ACP me, actorP)
    -- Start listening on events
    startAcpLoop self pid resources

-- FIXME: duplication